个人技术分享

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