Object: dùng toán tử in
let obj = { name: "John", age: 22 };
console.log('name' in obj); // true
console.log('address' in obj); // false
Lưu ý: in kiểm tra cả prototype chain. Chỉ check own property: obj.hasOwnProperty('name') hoặc Object.hasOwn(obj, 'name') (ES2022).
Array: dùng indexOf / includes
let arr = ["test", 1, 2, "hello", 23.5];
console.log(arr.indexOf({})); // -1 (object khác reference)
console.log(arr.indexOf("hello")); // 3
console.log(arr.indexOf(23.5)); // 4
// Modern: includes()
console.log(arr.includes("hello")); // true
console.log(arr.includes(99)); // false
Lưu ý: Array tìm object bằng reference, không deep equal.