該物件包含 JavaScript 中的屬性及其值。我們可以使用大括號 ({}) 來建立一個物件。它與變數類似,但我們分配一個物件值,而不是向變數分配數字、字串或布林值。
因此,在本教程中,我們將學習檢查 JavaScript 中的物件是否存在。簡而言之,我們必須學習檢查物件變數是否存在的方法。
通常,我們使用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 運算子檢查物件是否存在。
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語句。變數或物件本身表示布林值。當一個變數存在並且包含除“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中文網其他相關文章!