Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra thuộc tính có tồn tại trong đối tượng (JavaScript)


Có nhiều cách kiểm tra key tồn tại trong object:

  • obj.hasOwnProperty('key') - chỉ own property (không kế thừa)
  • 'key' in obj - kể cả prototype chain
  • Object.hasOwn(obj, 'key') (ES2022) - khuyên dùng, an toàn hơn hasOwnProperty (tránh bị ghi đè)

Ví dụ

Kiểm tra firstName trong {firstName: 'Rohan', lastName: 'Sharma', age: 21}:

<!DOCTYPE html>
<html lang="vi">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Kiểm tra property object</title>
  <style>
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
    .result { font-size: 20px; font-weight: 500; color: blueviolet; }
  </style>
</head>
<body>
  <h1>Kiểm tra thuộc tính trong đối tượng</h1>
  <div class="result"></div>
  <button class="Btn">KIỂM TRA firstName</button>
  <h3>Nhấn nút để kiểm tra firstName có trong obj không</h3>
  <script>
    const resEle = document.querySelector(".result");
    const obj = { firstName: "Rohan", lastName: "Sharma", age: 21 };
    document.querySelector(".Btn").addEventListener("click", () => {
      // Cách hiện đại khuyên dùng
      if (Object.hasOwn(obj, 'firstName')) {
        resEle.textContent = 'Object có firstName';
      } else {
        resEle.textContent = 'Object KHÔNG có firstName';
      }
    });
  </script>
</body>
</html>

Kết quả

Hiển thị: Object có firstName.

Best practice: Dùng Object.hasOwn(obj, key) (ES2022) thay hasOwnProperty.