Belum diartikan
Menunjukkan bahwa variabel telah dinyatakan tetapi belum diinisialisasi. Perlu dicatat bahwa ketika menggunakan operator TypeOF untuk menentukan tipe data, nilai yang dikembalikan oleh variabel yang tidak diumumkan dan variabel yang tidak diinisialisasi tidak ditentukan.
var pesan; console.log (typeof pesan); // undefinedconsole.log (typeof usia); // tidak ditentukan
NULL: mewakili penunjuk objek kosong
Nilai yang dikembalikan dengan menggunakan operator Typeof adalah 'objek'. Perlu dicatat bahwa nilai yang tidak ditentukan berasal dari nilai nol, jadi ECMA-262 menetapkan bahwa mereka harus mengembalikan true ketika pengujian untuk kesetaraan.
console.log (null == tidak terdefinisi); // true
Perbedaan antara tidak terdefinisi dan nol
(1) tidak terdefinisi berarti bahwa variabel belum dinyatakan, atau telah dinyatakan tetapi belum ditetapkan
(2) NULL adalah nilai yang menunjukkan "tidak ada nilai"
(3) JavaScript menetapkan nilai default variabel yang tidak ditetapkan untuk tidak ditentukan
(4) JavaScript tidak pernah menetapkan variabel ke nol. Ini digunakan untuk membiarkan programmer menunjukkan bahwa variabel yang dinyatakan dengan VAR tidak memiliki nilai.
(5) Tidak ditentukan bukan JSON yang valid, sedangkan nol
(6) Jenis tidak terdefinisi tidak terdefinisi, dan jenis nol adalah objek.
PS: Mereka semua tipe dasar
Mereka semua salah (boolean (tidak terdefinisi) // false, boolean (null) // false)
Anda dapat menentukan apakah suatu variabel tidak terdefinisi dengan cara ini
tipe variabel === "tidak ditentukan"
Anda dapat menentukan apakah suatu variabel adalah nol dengan cara ini
variabel === NULL
Mereka sama jika dibandingkan dengan tanda -tanda ganda yang sama, tetapi mereka tidak sama jika dibandingkan dengan tiga tanda yang sama.
null == tidak terdefinisi // true null === tidak terdefinisi // false