Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyemak sama ada nilai adalah primitif dalam JavaScript?

Bagaimana untuk menyemak sama ada nilai adalah primitif dalam JavaScript?

王林
王林ke hadapan
2023-08-26 16:33:16864semak imbas

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

Dalam tutorial ini kita akan belajar tentang kaedah untuk menyemak sama ada jenis data yang diberikan adalah Asli atau tidak.

Jenis data dalam JavaScript 1. Jenis data primitif 2. Jenis data bukan primitif

Jenis data primitif - rentetan, nombor, undefined, boolean, null, simbol, bigint.

Jenis data bukan primitif - Objek

Jenis/nilai data primitif bukan objek, ia diwakili sebagai Lapisan bawah pelaksanaan bahasa. Semua nilai primitif tidak boleh diubah Ini bermakna anda tidak boleh menukar jenisnya, tetapi boleh menetapkan semula nilai baharu v kepada pembolehubah.

Untuk menyemak sama ada nilai itu adalah nilai primitif, kami menyemak sama ada nilai yang diberikan ialah objek jika Nilai yang kami berikan ialah objek, yang bermaksud ia bukan jenis data primitif menggunakan beberapa kaedah.

Kaedah 1: Gunakan Object()

Kami akan menyemak sama ada nilai yang diberikan adalah jenis objek menggunakan pengendali kesamarataan yang ketat Kerana ia juga menyemak jenis data dan nilai. Ia mula-mula menukar nilai kepada Objek kerana kita akan lulus nilai sebagai parameter melalui objek. Jika nilai kita objek, maka fungsi objek akan mengembalikan objek yang sama dan ia akan dianggap sebagai a objek, jika tidak, pengendali kesaksamaan yang ketat akan menyemak dan mengembalikan palsu kerana jenisnya tidak Ia sama.

Tatabahasa

inputValue !== Object(inputValue);

Mari kita tentukan fungsi untuk menyemak sama ada nilai input adalah jenis primitif.

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

Contoh

Dalam contoh di bawah, kami menyemak nilai berikut jika ia adalah primitif.

  • kosong

  • Nombor

  • String

  • String object

  • Boolean

  • susun

  • susunan kosong

  • Teks objek

<!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>

Kaedah 2: Gunakan operator jenis

Dalam kaedah ini kami akan menyemak jenis data menggunakan operator typeof dan kami tahu bahawa jenis data bukan primitif sentiasa jenis objek jadi kami akan menyemak sama ada nilai kami adalah jenis berikut Objek atau tidak.

Jika nilai kita bukan jenis objek atau fungsi, maka ia adalah primitif; Kami juga perlu mengendalikan kes nol, kerana null ialah nilai jenis primitif, tetapi typeof akan Jika kita menyemak typeof(null) maka output dipaparkan sebagai objek.

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"
   }
}

Contoh

Dalam contoh di bawah, kami menyemak sama ada nilai yang berbeza adalah nilai asal. Semak jika Sama ada nilai itu nilai primitif, kami menggunakan operator jenis. Kami menyemak sama ada jenisnya fungsi atau objek. Jika jenisnya ialah fungsi atau objek, nilainya bukan primitif jenis; jika tidak, ia adalah primitif.

<!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>

Jadi, kita perlu tahu cara untuk menyemak sama ada nilai yang diberikan adalah nilai jenis primitif atau nilai bukan primitif.

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada nilai adalah primitif dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Bermula dengan Angular: AsasArtikel seterusnya:Bermula dengan Angular: Asas