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 chainObject.hasOwn(obj, 'key')(ES2022) - khuyên dùng, an toàn hơnhasOwnProperty(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.