本日閱讀進度:第七章 重要的資料型別(265~274頁)
重點摘要:
為什麼有這兩個這麼相似的物件?
JavaScript一開始的想法是讓一個值代表尚未被初始化為任何值的變數,另一個值代表尚不存在的物件。
該如何區分這兩者的用途?
null常用於應該有物件但是卻無法建立或找到的情況,亦即表示一個物件尚不存在;
而undefined常用於變數尚未被初始化、物件缺少了屬性、陣列缺少了值的情況。
var subject = "Just a string";
var probe = typeof subject;
console.log(probe);
// "string"
大家可以試著想想以下會得到什麼答案:
var test1 = {};
var test2 = ["abc", 123];
var test3;
var test4 = null;
function test5() {return "abcdef"};
console.log(typeof test1);
以下略
console.log(NaN != NaN)
// true
但是上面才說是not a number,用typeof一查:
console.log(typeof(NaN));
// "number"
會不會覺得黑人問號呢?
本來今天想介紹等於運算符(==)的,但已經超過300字了,就等到明天再來互相傷害吧!
PS.標題致敬蕭煌奇的《你是我的眼》
本文同步發表於cichen