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

1. 七种内置类型

  null、undefined、boolean、number、string、object、symbol(ES6新增) ,除object外,其他统称“基本类型”。

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

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


2. 检测null值需要使用复合条件

  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其实是undeclared,但是在JavaScript里面没有undeclared类型,也报undefined


4. 判断未声明的变量

// 这样会抛出错误

if (DEBUG) {

console.log("Debugging is starting");

}


// 这样是安全的

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

console.log("Debugging is starting");

}


5. 咬文嚼字

原文P5提到“null是基本类型中唯一的一个“假值”(falsey或者false-like,参见第4章)类型“,这句话似乎有误,其实以下情况在js条件判断是都是false:

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容