Rumah > Artikel > hujung hadapan web > Bagaimana untuk menyemak sama ada nilai adalah primitif dalam 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.
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.
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"; } }
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>
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" } }
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!