Menurut dokumentasi MDN tentangundefined :
Di browser modern (JavaScript 1.8.5 / Firefox 4+), undefined adalah properti yang tidak dapat dikonfigurasi, tidak dapat ditulis sesuai dengan spesifikasi ECMAScript 5. Bahkan ketika ini bukan masalahnya, hindari menimpanya.
Salah satu atribut properti yang tidak terdefinisi adalah yang tidak dapat ditulis.
Tetapi jika saya lakukan:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
Apakah itu berarti saya dapat menimpa nilai undefined? Apa yang terjadi jika seseorang melakukan itu? Haruskah JavaScript memperingatkan tentang itu?
typeof undefinedkembali "undefined"dalam keadaan normal.
"undefined"adalah sebuah string. Pertanyaannya bukan menanyakan apa yang typeof (typeof undefined)dievaluasi. Ia bertanya apa yang typeof undefineddievaluasi. Ia kembali "undefined", bukan"string"
typeof ______adalah ekspresi yang mengevaluasi string yang berisi tipe ______. Anda salah mengerti pertanyaan itu.
typeof test === "undefined")