Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyemak jenis pembolehubah atau objek dalam JavaScript?

Bagaimana untuk menyemak jenis pembolehubah atau objek dalam JavaScript?

WBOY
WBOYke hadapan
2023-09-03 10:09:021217semak imbas

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

JavaScript ialah bahasa pengaturcaraan yang ditaip longgar, yang bermaksud tiada peraturan sedemikian untuk mengisytiharkan jenis pembolehubah. Pembolehubah boleh menyimpan berbilang jenis data dalam program, jadi adalah penting untuk memahami jenis pembolehubah sebelum menggunakannya. Dalam JavaScript, kita boleh menggunakan operator typeof untuk menyemak jenis pembolehubah atau objek. Pengendali typeof mengambil pembolehubah dan mengembalikan jenisnya dalam format rentetan.

Selain operator typeof, JavaScript juga menyediakan operator instanceof untuk menyemak jenis pembolehubah atau objek. Pengendali instanceof menerima dua parameter: objek yang akan diperiksa dan pembina jenis yang akan diperiksa. Operator ini mengembalikan benar jika pembina adalah objek jenis.

Gunakan jenis operator

Operator

typeof ialah operator unary yang menerima parameter dan mengembalikan rentetan yang menunjukkan jenis parameter. Contohnya, pengendali typeof boleh digunakan untuk menyemak jenis pembolehubah atau objek.

Tatabahasa

typeof variable_name 

Dalam sintaks di atas, variable_name ialah nama pembolehubah yang jenisnya akan ditentukan.

Pengendali

jenis boleh mengembalikan salah satu rentetan berikut -

  • "nombor" bermaksud nombor

  • "tali" bermaksud tali

  • "boolean"

  • "Tidak ditentukan" bermaksud nilai yang tidak ditentukan

  • "objek" bermaksud objek (termasuk tatasusunan dan fungsi)

  • “simbol” untuk simbol (baharu dalam ECMAScript 2015)

Contoh

Dalam contoh ini, kami menggunakan operator typeof untuk menyemak jenis pembolehubah atau objek dalam JavaScript. Kami mengisytiharkan berbilang pembolehubah jenis yang berbeza seperti nombor, rentetan, boolean, dsb. Kami memaparkan pembolehubah ini pada halaman web. Kami menggunakan pengendali acara klik pada butang untuk menyemak jenis pembolehubah. Pengguna boleh melihat semua pembolehubah dan jenisnya pada halaman web dengan hanya mengklik butang. Pengendali jenis membantu menentukan jenis pembolehubah atau objek sebelum melakukan operasi tertentu. Sebagai contoh, anda boleh menggunakannya untuk memastikan pembolehubah ialah nombor sebelum melakukan aritmetik, atau untuk memastikan pembolehubah ialah rentetan sebelum menggabungkannya dengan rentetan lain.

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

Gunakan instanceof operator

Dalam JavaScript, operator instanceof digunakan untuk menentukan jenis objek pada masa jalan. Ia mengembalikan hasil Boolean yang menunjukkan sama ada objek itu adalah contoh kelas tertentu.

Tatabahasa

object_name instanceof object_constructor 

Dalam sintaks di atas, nama_objek ialah nama objek yang jenisnya ingin anda tentukan.

Contoh

Dalam contoh ini, kami menggunakan operator instanceof untuk menyemak jenis pembolehubah atau objek dalam JavaScript. Kami mengisytiharkan pembolehubah jenis rentetan menggunakan pembina kelas String dan objek kelas tersuai "myClassObject" yang merupakan objek "myClass" dan memaparkannya pada halaman web. Kami menggunakan pengendali acara klik pada butang untuk menyemak jenis objek dan memaparkannya pada halaman web.

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

jenis dan instanceof hanya kadangkala mengembalikan hasil yang dijangkakan apabila digunakan dengan objek tertentu. Contohnya, pengendali typeof mengembalikan "objek" untuk tatasusunan, walaupun ia adalah jenis objek dalam JavaScript. Untuk menyemak dengan betul sama ada nilai ialah tatasusunan, anda boleh menggunakan kaedah Array.isArray().

Atas ialah kandungan terperinci Bagaimana untuk menyemak jenis pembolehubah atau objek 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