.hasOwnProperty()
时间: 2023-10-11 08:10:23 浏览: 39
`.hasOwnProperty()` 是 JavaScript 中的一个方法,用于检查一个对象是否具有指定的属性。这个方法返回一个布尔值,如果对象拥有给定的属性,则返回 `true`,否则返回 `false`。
例如,可以这样使用 `.hasOwnProperty()` 方法来检查一个对象是否具有名为 "name" 的属性:
```javascript
const obj = {
name: "John",
age: 25
};
console.log(obj.hasOwnProperty("name")); // true
console.log(obj.hasOwnProperty("gender")); // false
```
注意,`.hasOwnProperty()` 方法只会检查对象自身的属性,而不会检查原型链上的属性。
相关问题
obj.hasOwnProperty
`obj.hasOwnProperty` 是 JavaScript 中的一个方法,用于检查一个对象是否具有指定的属性。它返回一个布尔值,表示该对象是否具有该属性(包括继承的属性)。
使用示例:
```javascript
const obj = {
name: 'John',
age: 25
};
console.log(obj.hasOwnProperty('name')); // true
console.log(obj.hasOwnProperty('gender')); // false
```
在上面的示例中,`obj` 对象具有 `name` 属性,因此 `obj.hasOwnProperty('name')` 返回 `true`。而 `obj` 对象没有 `gender` 属性,因此 `obj.hasOwnProperty('gender')` 返回 `false`。
Object.prototype.hasOwnProperty
Object.prototype.hasOwnProperty方法是JavaScript中的内建方法,用于检查一个对象是否具有指定的属性。这个方法返回一个布尔值,如果对象具有指定的属性,则返回true;否则返回false。
该方法可以用于检查对象自身是否具有指定的属性,而不会去检查原型链上的属性。它不会触发原型链的属性访问器方法。
下面是一个使用hasOwnProperty方法的示例:
```javascript
const obj = {
prop1: 'value1',
prop2: 'value2'
};
console.log(obj.hasOwnProperty('prop1')); // true
console.log(obj.hasOwnProperty('prop2')); // true
console.log(obj.hasOwnProperty('toString')); // false
```
在这个示例中,我们创建了一个名为obj的对象,并给它添加了两个属性:prop1和prop2。然后我们分别使用hasOwnProperty方法检查了这两个属性,结果都是true。最后我们使用hasOwnProperty方法检查了一个在Object.prototype上定义的属性toString,结果是false。
需要注意的是,如果属性是通过原型链继承而来的,hasOwnProperty方法会返回false。要检查一个对象是否具有某个属性,还需要考虑原型链上的属性。