1. in
如果指定的属性在指定的对象或其原型链中,则 in
运算符返回 true
。
const car = { make: 'Honda', model: 'Accord', year: 1998 };
console.log('make' in car);
// true
delete car.make;
if ('make' in car === false) {
car.make = 'Suzuki';
}
console.log(car.make);
// "Suzuki"
2. Object.prototype.hasOwnProperty()
hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));
// true
console.log(object1.hasOwnProperty('toString'));
// false
console.log(object1.hasOwnProperty('hasOwnProperty'));
// false