谈谈JS类型

内置类型

JavaScript 有七种内置类型:

• 空值(null)

• 未定义(undefined)

• 布尔值(boolean)

• 数字(number)

• 字符串(string)

• 对象(object)

• 符号(symbol, ES6 中新增)

除了对象之外,其他的都是基本类型。

typeof

  • 可以用typeof来查看值的类型,它返回类型的字符串值,但是类型和字符串值并不是一一对应的。
typeof undefined === "undefined"; // true
typeof true === "boolean"; // true
typeof 42 === "number"; // true
typeof "42" === "string"; // true
typeof { life: 42 } === "object"; // true
// ES6中新加入的类型
typeof Symbol() === "symbol"; // true

以上是字符串值与类型相同的情况。但是,对于null,那就不一样了:

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

检测null,需要使用复合条件:

var a = null
!a && typeof a === "object"; //true

对于函数(function(){}),数组(Array),他们都是JS的内置类型,实际上是object的子类型,在用typeof求值时:

typeof function a(){ /* .. */ } === "function"; // true

typeof [1,2,3] === "object"; // true  注意,不是array

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

推荐阅读更多精彩内容