首頁 >web前端 >js教程 >JavaScript 中如何檢查物件是否存在?

JavaScript 中如何檢查物件是否存在?

王林
王林轉載
2023-09-02 14:33:021366瀏覽

JavaScript 中如何检查对象是否存在?

該物件包含 JavaScript 中的屬性及其值。我們可以使用大括號 ({}) 來建立一個物件。它與變數類似,但我們分配一個物件值,而不是向變數分配數字、字串或布林值。

因此,在本教程中,我們將學習檢查 JavaScript 中的物件是否存在。簡而言之,我們必須學習檢查物件變數是否存在的方法。

使用 try-catch 語句

通常,我們使用try-catch語句來處理JavaScript中的錯誤。我們可以嘗試在 try 區塊中存取該對像或其屬性,如果程式沒有找到該對象,則會引發錯誤並轉到 catch 區塊,而不會完成 try 區塊程式碼的執行。

文法

使用者可以依照下列語法使用try-catch區塊來檢查物件是否已定義。

try {
   let value = object.prop;
   // object is defined
} catch {
   // object is not defined
}

我們在上面的語法中存取 try 區塊中未定義的物件。

範例

在下面的範例中,我們使用了 try-catch 語句。在 try 區塊中,我們嘗試存取物件的 prop 屬性,該屬性未定義。

使用者可以在輸出中觀察到,執行控制會從 catch 區塊中列印訊息,但在存取未定義的物件時不會從 try 區塊中列印訊息,這將引發錯誤。

<html>
<body>
   <h3>Using the <i>try-catch block</i> to check if the object is defined in JavaScript.</h2>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      try {
         let value = object.prop;
         output.innerHTML += "The object is successfully defined!"
      } catch {
         output.innerHTML += "The object is not defined!"
      }
   </script>
</body>
</html>

使用 typeof 運算子

開發人員可以使用typeof運算子來檢查變數的類型。在這裡,我們將檢查變數類型是否等於“物件”,這意味著該物件存在;否則,如果我們得到“未定義”或任何其他資料類型,則表示該變數不是物件類型。

文法

使用者可以依照下列語法使用 typeof 運算子檢查物件是否存在。

let objType = typeof obj === ‘object’;

在上面的語法中,嚴格相等運算子符合 typeof 運算子的傳回值和「object」字串。

範例

在下面的範例中,我們建立了 obj 物件。當使用者單擊該按鈕時,它會呼叫 isObjectDefined() 函數。在 isObjectDefined() 函數中,我們使用 typeof 運算子來取得 obj 變數的類型並將其儲存在 objType 中。之後,我們將 objType 變數的值與「object」進行比較,以檢查該物件是否存在。

<html>
<body>
   <h2>Using the <i>typeof</i> operator to check if the object is defined in JavaScript.</h2>
   <p id = "output"></p>
   <button onclick = "isObjectDefined()"> Check for Object </button>
   <script>
      let output = document.getElementById("output");
      let obj = {
         prop1: "hello",
         prop2: "Users!"
      }
      function isObjectDefined() {
         let objType = typeof obj;
         if (objType === "object") {
            output.innerHTML += "The code contains the object!"
         } else {
            output.innerHTML += "The code doesn't contain the object!"
         }
      }
   </script>
</body>
</html>

使用 if-else 語句

眾所周知,我們可以將條件傳遞給if語句。變數或物件本身表示布林值。當一個變數存在並且包含除“null”之外的其他值時,它確實是一個布林值;否則,它是一個錯誤的布林值。當我們使用假布林值作為 if 語句的條件時,控制總是轉到 else 區塊。

文法

使用者可以依照下列語法使用 if-else 語句來檢查物件是否存在。

if (object) {
   // object exists
} else {
   // object doesn’t exist.
}

在上面的語法中,物件是包含該物件的變數。

範例

在下面的範例中,我們建立了電話對象,其中包含一些屬性和值作為鍵值對。之後,我們使用 if-else 語句來檢查程式碼中是否存在電話物件。

使用者可以觀察當電話物件存在時控制轉到 if 區塊的輸出。

<html>
<body>
   <h2>Using the <i>if-else</i> statement to check if the object is defined in JavaScript.</h2>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let phone = {
         "color": "blue",
         "RAM": "8GB",
         "ROM": "128GB"
      }
      if (phone) {
         output.innerHTML += "The phone object defined in the code!"
      } else {
         output.innerHTML += "The phone object isn't defined in the code!"
      }
   </script>
</body>
</html>

使用者學習了三種檢查物件是否存在的方法。使用者可以根據自己的需求使用任何一種方法。如果他們還需要捕獲另一個錯誤,則可以使用 try-catch 區塊;否則,他們使用普通的 if-else 語句而不是 typeof 運算子。

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

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除