Ada DUA hal yang perlu Anda pahami tentang undefined ...
- yang jenis
undefined yang hanya dapat memiliki satu nilai .
- yang variabel
undefined
Sekarang baca yang berikut ini dengan sangat hati-hati ...
Ada begitu banyak nilai tipe number(10, 10.01, 1e1). Tetapi hanya ada satu nilai tipe undefined, dan nilai itu disimpan dalam variabel undefined. Nilai yang memiliki representasi NO literal - misalnya, nilai-nilai jumlah 1, 100, 1e-1semua literal dari jumlah jenis, tetapi nilai yang disimpan dalam variabel undefinedtidak memiliki bentuk literal.
undefinedadalah variabel, hanya variabel normal, yang JavaScript nyatakan dan berikan nilai tipe undefineddalam lingkup global. Jadi, Anda dapat melakukan semua hal berikut ...
jenis tidak terdefinisi; // "tidak terdefinisi"
undefined = 100;
jenis tidak terdefinisi; // "angka"
undefined = void 0;
jenis tidak terdefinisi; // "tidak terdefinisi"
window.undefined === tidak terdefinisi; // benar
window.undefined === batal 0; // benar
- jika Anda tidak ingin menggunakan variabel
undefined, Anda bisa menghasilkan nilai tipe undefineddengan ekspresi void 0- yang satu-satunya tujuan adalah mengembalikan nilai tipe undefined.
... adakah yang bisa menjelaskan kepada saya mengapa hal ini dimasukkan ke dalam JavaScript ...
TIDAK. Sama seperti tidak ada yang bisa menjelaskan mengapa variabel yang tidak dideklarasikan pergi ke lingkup global alih-alih lokal. Anda hanya perlu melatih diri Anda untuk menggunakannya dengan cerdas alih-alih mencoba mencari pembenaran atas keberadaannya.
... kami memiliki nilai nol ...
Meskipun nullbisa melakukan sesuatu undefined, itu lebih atau kurang terkait dengan objectsdaripada skalar. Memang, JavaScript menganggap nulldirinya sebagai objek - typeof nullmengembalikan "objek".
Menurut pendapat saya, intinya adalah untuk TIDAK mencoba alasan tujuan absolut dari undefineddan null- dan menggunakannya dalam kode Anda secara cerdas, sehingga kode Anda dapat dibaca, dipelihara, dan dapat digunakan kembali.
undefineddan kapan harus menggunakannull