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