《你不知道的JavaScript (中卷)》第一章(類型)

1. 七種內(nèi)置類型

? null、undefined、boolean、number、string、object、symbol(ES6新增) ,除object外,其他統(tǒng)稱“基本類型”。

? typeof null === "object”;? // true

? typeof Symbol() === "symbol";? // true


2. 檢測(cè)null值需要使用復(fù)合條件

? var a = null;

? (!a && typeof a === "object"); // true


3. undefined和undeclared

(1)使用未聲明的變量

? ? var a; a;? // undefined,已聲明未賦值

? ? b; // ReferenceError: b is not defined

(2)typeof

? ? var a; typeof a;? ?// undefined,a已聲明,沒有賦值

? ? typeof b; //?undefined, b其實(shí)是undeclared,但是在JavaScript里面沒有undeclared類型,也報(bào)undefined


4. 判斷未聲明的變量

// 這樣會(huì)拋出錯(cuò)誤

if (DEBUG) {

console.log("Debugging is starting");

}


// 這樣是安全的

if (typeof DEBUG !== "undifined") {

console.log("Debugging is starting");

}


5. 咬文嚼字

原文P5提到“null是基本類型中唯一的一個(gè)“假值”(falsey或者false-like,參見第4章)類型“,這句話似乎有誤,其實(shí)以下情況在js條件判斷是都是false:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? undefined、null、false、0、NaN、"" 或 ''(空字符串)

也就是說null和undefined都是基本類型中的“假值”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容