首頁 >web前端 >js教程 >JavaScript 中如何檢查值是否為原始值?

JavaScript 中如何檢查值是否為原始值?

王林
王林轉載
2023-08-26 16:33:16895瀏覽

JavaScript 中如何检查值是否为原始值?

在本教程中,我們將了解檢查給定資料類型是否為的方法 是否原始。

JavaScript 中的資料型態 1. 原始資料型別 2. 非原始資料型別

原始資料型別 - 字串、數字、未定義、布林、null、符號、bigint。

非原始資料型別 - 物件

原始資料類型/值不是對象,它表示為 語言實現的底層。所有原始值都是不可變的 這表示您不能變更它們的類型,而是可以將 v 新值重新指派給 變數。

為了檢查該值是否為原始值,我們檢查給定的值是否為物件;如果 我們提供的值是一個對象,這意味著它不是使用某些的原始資料類型 方法。

方法一:使用Object()

我們將使用嚴格相等運算子檢查給定值是否為物件類型 因為它也會檢查資料類型和值。它首先將值轉換為 對象,因為我們將透過對象傳遞值作為參數。如果我們的價值是 一個對象,那麼對象函數將返回相同的對象,並且它將被視為一個 對象,否則嚴格相等運算子將檢查並傳回 false,因為類型不會 是一樣的。

文法

inputValue !== Object(inputValue);

讓我們定義一個函數來檢查輸入值是否為原始型別。

function isPrimitive(inputValue){
   if(inputValue===Object(inputValue)){
      return "Value is not primitive";
   }
   else{
      return "Value is primitive";
   }
}

範例

In the example below, we check the following values if they are 是否原始。

  • 數字

  • 字串

  • 字串物件

  • 布林值

  • 陣列

  • 空數組

  • #物件文字

<!DOCTYPE html>
<html>
<head>
</head>
<body>
   <h2>Check if the value is primitive or not</h2>
   <p id="result"></p>
</body>
   <script type="text/javascript">
      function isPrimitive(inputValue) {
         if (inputValue === Object(inputValue)) {
            console.log("Value is not primitive")
            document.getElementById("result").innerHTML += inputValue +": not primitive <br>"
         } else {
            console.log("Value is primitive")
            document.getElementById("result").innerHTML += inputValue +": primitive <br>"
         }
      }
      isPrimitive(null)
      isPrimitive(12)
      isPrimitive("This is simple string")
      isPrimitive(new String("This is string object"))
      isPrimitive(false)
      isPrimitive([1, 2, 3])
      isPrimitive([])
      isPrimitive({})
   </script>
</html>

方法2:使用typeof運算子

在此方法中,我們將使用 typeof 運算子檢查資料類型,並且我們知道非原始資料類型始終是物件類型,因此我們將檢查我們的值是否為以下類型 反對與否。

如果我們的值不是物件或函數的類型,那麼它就是原始值;否則它就不是原始的。 我們也必須處理 null 的情況,因為 null 是原始型別值,但 typeof 會 如果我們檢查 typeof(null),則將輸出顯示為物件。

function isPrimitive(inputValue){
   if(inputValue==null)
   {
      return "Value is primitive";
   }
   if(typeof(inputValue)=="function" || typeof(inputValue)=="object"){
      return "Value is not primitive"
   }
   else{
      return "Value is not primitive"
   }
}

範例

在下面的範例中,我們檢查不同的值是否為原始值。檢查是否 值是否是原始值,我們使用了 typeof 運算子。我們檢查類型是否為 函數或物件。如果類型是函數或對象,則該值不是基元 類型;否則它是原始的。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
   <h2>Check if the value is primitive or not</h2>
   <div id="result"></div>
</body>
   <script type="text/javascript">
      function isPrimitive(inputValue){
         if(inputValue==null)
         {
            return `primitive <br>`;
         }
         if(typeof(inputValue)=="function" || typeof(inputValue)=="object"){
            return `not primitive <br>`;
         }
         else{
            return `primitive <br>`;
         }
      }

      let resultDiv = document.getElementById("result");
      resultDiv.innerHTML += "12: " + isPrimitive(12);
      resultDiv.innerHTML += "null: " + isPrimitive(null);
      resultDiv.innerHTML += "false: " + isPrimitive(false);
      resultDiv.innerHTML += "[1,2,3]: " + isPrimitive([1,2,3]);
      resultDiv.innerHTML += `"This is simple string": ` + isPrimitive("This is simple string");
      resultDiv.innerHTML += "new String(): " + isPrimitive(new String("This is string object"));
      resultDiv.innerHTML += "[]: " + isPrimitive([]);
      resultDiv.innerHTML += "{}: " + isPrimitive({});
      resultDiv.innerHTML += "new Date(): " + isPrimitive(new Date());
   </script>
</html>

因此,我們需要了解檢查給定值是原始類型值還是非原始值的方法。

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

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