美文网首页
JavaScript 类型

JavaScript 类型

作者: 知止至得 | 来源:发表于2018-07-12 11:03 被阅读18次

JavaScript 有 七种 内置类型(现在搜到的大多数还是六种的说法)

  • 空值(null)
  • 未定义(undefined)
  • 布尔值(bollean)
  • 数字(number)
  • 字符串(string)
  • 对象(object)
  • 符号(symbol)ES6中新增

使用 typeof 查看值得类型,除null返回值是Object外,其他返回的都是类型的字符串值。

typeof ...

当我们判断一个值是不是null的时候,需要复合条件来判断

let a = null;
(!a && typeof a === 'Object') // true

JS中的数组通过判断可以看到,数组也是对象

typeof []

还有一种情况,当我们尝试使用typeof判断个函数的值时候,返回的是function

typeof funtion

但是function并不是内置类型,只是object类型的一个子类型。函数不仅是对象,还可以拥有属性。

值和类型

JavaScript 中的变量没有类型,只有值才有。变量可以随时持有任何类型的值。换个角度来理解就是,JavaScript不做“类型转换”;也就是说。语言引擎不要求变量持有与初始值同类型的值。

在对变量执行 typeof 操作时,得到的结果并不是该变量的类型,而是该变量持有的值得类型,因为JavaSc中变量没有类型。

在JavaScript中undefinedundeclared并不是一回事,undefined是值的一种,undeclared表示变量还没有被声明

注意:
当我们试图访问undeclared变量时报错ReferenceError: a is not defined,并且typeofundefinedundeclared变量都返回undefined

参考:

《你不知道的JavaScript》中卷

相关文章

网友评论

      本文标题:JavaScript 类型

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