JavaScript语言类型

内置类型

JavaScript有七种内置类型(包含ES6的symbol):

  • null
  • undefined
  • string
  • number
  • boolean
  • object
  • symbol

检测类型

我们可以用typeof运算符来查看值的类型,它始终返回值类型的字符串值。有意思的是这七种类型和它们的字符串值并不一一对应:

typeof undefined === 'undefined'; // true
typeof '' === 'string'; // true
typeof 1 === 'number'; // true
typeof true === 'boolean'; // true
typeof {} === 'object'; // true
typeof Symbol() === 'symbol'; // true

以上六种类型均与其字符串值相同,只有null类型不在此列,null的字符串值是object

typeof null === 'object'; // true

还有一种情况,function函数是属于object的一个子类型,但是其字符串值确实function

typeof function () {} === 'function'; // true

undefined 和 undeclared

变量在声明后并没有初始化值时,默认值为undefined

var a;
typeof a; // 'undefined'

没有在作用域中声明过的变量,是undeclared,但是typeof一个未声明的值却是'undefined',这也是typeof的一个安全机制

var a;
a; // undefined
b; // b is not defined

typeof a; // 'undefined'
typeof b; // 'undefined'

小结

JavaScript有七种内置类型:
nullundefinedbooleanstringnumberobjectsymbol
通过typeof检测nullfunction,返回的分别是objectfunction
已声明未赋值(undefined)和未声明未赋值(undeclared)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基本介绍 ECMAScirpt 5.1 中定义了6种数据类型,其中有5中简单数据类型(基本数据类型): Undef...
    Wonder233阅读 715评论 0 0
  • 一、ES6简介 ​ 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ...
    一岁一枯荣_阅读 6,209评论 8 25
  • 一. 当知道今年将是鸡年时,我心中是有些震惊的。假如不是鸡年,似乎就那么过去了,和我没多大关系,可鸡年…那是自己的...
    张安默生阅读 472评论 1 4

友情链接更多精彩内容