美文网首页
JavaScript语言类型

JavaScript语言类型

作者: kamifun | 来源:发表于2016-09-26 23:01 被阅读0次

内置类型

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)

相关文章

网友评论

      本文标题:JavaScript语言类型

      本文链接:https://www.haomeiwen.com/subject/alznettx.html