JavaScript 有七种内置类型:null、undefined、boolean、number、string、object 和symbol,可以使用typeof 运算符来查看。 变量没有类型,但它们持有的值有类型。类型定义了值的行为特征。 很多开发人员将undefined 和undeclared 混为一谈, 但在JavaScript 中它们是两码事。undefined 是值的一种。undeclared 则表示变量还没有被声明过。 遗憾的是,JavaScript 却将它们混为一谈,在我们试图访问"undeclared" 变量时这样报错:ReferenceError: a is not defined, 并且typeof 对undefined 和undeclared 变量都返回"undefined"。 然而,通过typeof 的安全防范机制(阻止报错)来检查undeclared 变量,有时是个不错的办法。