本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

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