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.
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.
typeof variable_name
Dalam sintaks di atas, variable_name ialah nama pembolehubah yang jenisnya akan ditentukan.
Pengendalijenis 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)
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>
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.
object_name instanceof object_constructor
Dalam sintaks di atas, nama_objek ialah nama objek yang jenisnya ingin anda tentukan.
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>
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!