JavaScript 中的 hasOwnProperty

Anika Tabassum Era 2023年10月12日
  1. 检查 JavaScript 中对象的 hasOwnProperty
  2. 检查类对象的 hasOwnProperty
JavaScript 中的 hasOwnProperty

我们经常看到关于 in 惯例和 hasOwnProperty 的两难境地,但在特定情况下两者的工作方式不同。主要概念是 in 适用于具有继承属性并导致 true 的对象,而 hasOwnProperty 仅对未继承而是显式定义的属性返回 true。

在这里,我们将只讨论 JavaScript 中的 hasOwnProperty

检查 JavaScript 中对象的 hasOwnProperty

在 JavaScript 中,检查属性是否定义的结构是这样的 - objectName.hasOwnProprty(property)。在这里,一个对象可以是一个数组,也可以是一个键值对。你可以检查定向路径

在 JavaScript 中对数组对象使用 hasOwnProperty

数组从 0 开始索引,直到最后一个可用元素。因此,我们更喜欢使用索引值来调用数组对象的属性。下面的例子给出了一个清晰的思路。

代码片段:

var myObj = ['Liza', 'Kary', 'Blake'];

console.log(myObj.hasOwnProperty(2));
console.log(myObj.hasOwnProperty(3));

输出:

javascript 中数组的 hasownprop

在 JavaScript 中的 key-value 对对象上使用 hasOwnProperty

在这方面,我们将考虑一个具有键值(string)和属性(任何数据类型)的字典。我们来看下面的例子:

代码片段:

var myObj = {
  pet : "penguine",
  age : 5,
}

console.log(myObj.hasOwnProperty("age"));
console.log(myObj.hasOwnProperty("color"));

输出:

javascript 中 obj 的 hasownprop

如你所见,对象 myObj 只有两个键 - petage。如果我们通过 hasOwnProperty 仅调用这两个属性,我们将看到控制台结果 true。否则,我们调用随机属性 color,结果为 false

检查类对象的 hasOwnProperty

JavaScript ES6 有一个额外的特性 class,使用 constructor 可以定义一些动态对象。在声明对象之后,你可以通过为它们定义值来轻松访问它们。演示将清除本节的解释。此外,对于任何自定义值,如果属性存在于类构造函数中,你将得到答案 true;否则,

代码片段:

class pet {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const pet1 = new pet('Izequel', 5);

console.log(pet1.hasOwnProperty('name'));
console.log(pet1.hasOwnProperty('color'));

javascript 中类的 obj 的 hasOwnprop

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

相关文章 - JavaScript Property