首頁 >web前端 >js教程 >如何在 JavaScript 中檢查變數或物件的類型?

如何在 JavaScript 中檢查變數或物件的類型?

WBOY
WBOY轉載
2023-09-03 10:09:021308瀏覽

如何在 JavaScript 中检查变量或对象的类型?

JavaScript 是一種鬆散類型的程式語言,這意味著沒有這樣的規則來宣告變數類型。一個變數可以在程式中儲存多種資料類型,因此在使用變數之前了解變數類型非常重要。在 JavaScript 中,我們可以使用 typeof 運算子來檢查變數或物件的類型。 typeof 運算子接受一個變數並以字串格式傳回其類型。

除了typeof運算子之外,JavaScript還提供了instanceof運算子來檢查變數或物件的類型。 instanceof 運算子接受兩個參數:要檢查的物件和要檢查的類型的建構子。如果建構函數是物件類型,則該運算子將傳回 true。

使用 typeof 運算子

typeof 運算子是一種一元運算符,它接受一個參數並傳回一個指示參數類型的字串。例如,typeof 運算子可用於檢查變數或物件的類型。

文法

typeof variable_name 

在上面的語法中,variable_name 是要確定其類型的變數的名稱。

typeof 運算子可以傳回以下字串之一 -

  • 「number」代表數字

  • “string”表示字串

  • 布林值的「boolean」

  • 「未定義」表示未定義的值

  • “object”表示物件(包括陣列和函數)

  • 符號的「symbol」(ECMAScript 2015 中的新增功能)

範例

在此範例中,我們使用 typeof 運算子來檢查 JavaScript 中變數或物件的類型。我們聲明了不同類型的多個變量,例如數字、字串、布林值等。我們在網頁上顯示了這些變數。我們在按鈕上使用了點擊事件處理程序來檢查變數的類型。使用者只要點擊該按鈕,就可以在網頁上看到所有變數及其類型。 typeof 運算子有助於在執行特定操作之前確定變數或物件的類型。例如,您可以使用它來確保在執行算術之前變數是數字,或者在將變數與另一個字串連接之前確保變數是字串。

<html>
<body>
   <h2>Checking the <i> type of a variable or object </i> in JavaScript</h2>
   <h4>The variables are as follows:</h4>
   <ul>
      <li>let num = 10</li>
      <li>let str = "Hello"</li>
      <li>let bool = true</li>
      <li>let un</li>
      <li>let n = null</li>
      <li>let arr = [1, 2, 3]</li>
      <li>let func = function () {}</li>
   </ul>
   <button onclick = "checkType()"> Check Type </button>
   <div id = "root"> </div>
   <script>
      let num = 10
      let str = 'Hello'
      let bool = true
      let un
      let n = null
      let arr = [1, 2, 3]
      let func = function () {}
      let root = document.getElementById('root')
      function checkType() { 
         root.innerHTML = '<h4>The types of variables are as follows:</h4>'
         root.innerHTML += '<ul> <li> let num = 10 is a ' + typeof num + ' </li> <li> let str = "Hello" is a ' + typeof str + ' </li> <li> let bool = true is a ' + typeof bool + ' </li> <li> let un is a ' + typeof un + ' </li> <li> let n = null is a ' + typeof n + ' </li> <li> let arr = [1, 2, 3] is a ' + typeof arr + ' </li> <li> let func = function () {} is a ' + typeof func + ' </li> </ul> '
      }
   </script>
</body>
</html> 

使用instanceof運算子

在 JavaScript 中,instanceof 運算子用於在執行時間確定物件的類型。它會傳回一個布林結果,指示該物件是否是特定類別的實例。

文法

object_name instanceof object_constructor 

在上面的語法中,object_name 是您要確定其類型的物件的名稱。

範例

在此範例中,我們使用 instanceof 運算子來檢查 JavaScript 中變數或物件的類型。我們用 String 類別建構函數和自訂類別物件「myClassObject」宣告一個字串類型變數,「myClassObject」是「myClass」的對象,並將它們顯示在網頁上。我們在按鈕上使用點擊事件處理程序來檢查物件的類型並將其顯示在網頁上。

<html>
<body>
   <h2>Checking the <i> type of a variable or object </i> in JavaScript</h2>
   <h4>The object variables are as follows:</h4>
   <ul> 
      <li>let str = new String('Hello World!')</li>
      <li>let myClassObject = new MyClass()</li>
   </ul>
   <button onclick = "checkType()"> Check Type </button>
   <div id = "root"> </div>
   <script>
      let str = new String('Hello World!')
      class MyClass {}
      let myClassObject = new MyClass()
      let root = document.getElementById('root')
      function checkType() {
         root.innerHTML = '<h4> The types of objects using instanceof operator: </h4>'
         root.innerHTML += '<ul> <li> str is an instance of String: ' + (str instanceof String) + ' </li> <li> str is an instance of MyClass: ' + (str instanceof MyClass) + ' </li> </ul>'
         root.innerHTML += ' <ul> <li> myClassObject is an instance of String: ' + (myClassObject instanceof String) + ' </li> <li> myClassObject is an instance of MyClass: ' + (myClassObject instanceof MyClass) + ' </li> </ul>'
      }
   </script>
</body>
</html> 

typeof 和 instanceof 運算子僅在與某些物件一起使用時有時才會傳回預期結果。例如,typeof 運算子為陣列傳回“object”,即使它們是 JavaScript 中的物件類型。若要正確檢查值是否為數組,可以使用 Array.isArray() 方法。

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

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