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

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

DDD
DDD原創
2024-10-31 18:35:29890瀏覽

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

使用變數檢查物件屬性是否存在

在 JavaScript 中,使用變數驗證物件屬性是否存在可能是一項常見任務。然而,直接使用變數作為屬性名稱會導致未定義的結果。

範例:

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

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

要克服這個問題,必須使用明確檢查屬性的方法

解決方案:

選項1:hasOwnProperty

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

選項2:in 運算子(檢查直接和繼承屬性)

選項2:in 運算子(檢查直接和繼承屬性)
<code class="js">var myProp = 'prop';
if (myProp in myObj) {
  alert("yes, i have that property");
}</code>

<code class="js">if ('prop' in myObj) {
  alert("yes, i have that property");
}</code>
選項3:直接使用運算子(僅檢查直接屬性)

注意: hasOwnProperty 不會檢查繼承的屬性,而in 運算子會檢查。

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

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