首頁  >  文章  >  web前端  >  如何在 JavaScript 物件中使用變數屬性名稱來檢查屬性是否存在?

如何在 JavaScript 物件中使用變數屬性名稱來檢查屬性是否存在?

Barbara Streisand
Barbara Streisand原創
2024-11-01 11:07:02154瀏覽

How to Check for Property Existence Using a Variable Property Name in JavaScript Objects?

如何使用屬性名稱變數有效檢查物件屬性是否存在

使用 JavaScript 物件時,確定特定屬性是否存在至關重要。但是,如果您需要利用變數來保存目標屬性名稱怎麼辦?

在提供的範例中:

<code class="js">var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};</code>

程式碼嘗試檢查名為 ' 的屬性是否存在myprop',它不存在。這是因為 JavaScript 將表達式計算為“myObj.myprop”而不是“myObj.prop”。

要成功實現此邏輯,您可以利用多種方法:

使用hasOwnProperty

<code class="js">var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}</code>

hasOwnProperty 物件驗證是否擁有特定屬性,不包括繼承的屬性。

使用in 運算子(ES5)

<code class="js">var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}</code>

in 運算子檢查物件的可列舉屬性,包括物件本身的可枚舉屬性和繼承的。

使用方括號(ES6)

<code class="js">if('prop' in myObj){
    alert("yes, i have that property");
}</code>

在 ES6 中,方括號可以與 in 運算子互換使用,用於檢查屬性是否存在。

以上是如何在 JavaScript 物件中使用變數屬性名稱來檢查屬性是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn