如果指定的属性在指定的对象或其原型链中,则?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"
hasOwnProperty()
?方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));
// true
console.log(object1.hasOwnProperty('toString'));
// false
console.log(object1.hasOwnProperty('hasOwnProperty'));
// false