Menu
CoddyTech

Kiểm tra khóa có tồn tại

Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 16 trên 65.

Để kiểm tra một khóa cụ thể có trong đối tượng JSON hay không, hãy dùng toán tử in hoặc hasOwnProperty(). Ví dụ:

const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
  console.log("Key exists!");
}

if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

Điều này rất hữu ích khi kiểm tra xem dữ liệu nhất định có tồn tại hay không trước khi xử lý.

obj.hasOwnProperty("key") sẽ trả về false nếu obj không có key là thuộc tính riêng của nó. Tuy nhiên, obj.key === undefined không nhất thiết có nghĩa là hasOwnProperty("key") sẽ trả về false. Có hai trường hợp mà obj.key là undefined:

  • Thuộc tính hoàn toàn không tồn tại → hasOwnProperty("key") trả về false.
  • Thuộc tính tồn tại nhưng có giá trị undefined → hasOwnProperty("key") trả về true.

Ví dụ:

const obj1 = {};  
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false

const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// true
challenge icon

Thử thách

Dễ

Tạo một hàm có tên toggleBookStatus, nhận một đối tượng sách làm tham số. Hàm này cần:

  1. Nếu sách có thuộc tính isRead là true, hãy đổi thành false
  2. Nếu sách có thuộc tính isRead là false, hãy đổi thành true
  3. Nếu sách không có thuộc tính isRead, hãy thêm thuộc tính này và đặt thành true
  4. Trả về đối tượng sách đã sửa đổi

Tự làm thử

function toggleBookStatus(book) {
    // Viết code của bạn tại đây
}
// Không viết gì bên ngoài hàm (function)
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch JavaScript online