前端之路——JavaScript中的类型

JavaScript中的类型

null和undefined

nullundefined是JavaScript中两个特殊的原始值,代表了各自类型(nullundefined)中唯一的值

  • null

    null 是JavaScript的关键字

    typeof null // “object”

    可以理解为null是一个特殊的对象,含义是“非对象”,可以用来表示数字,字符串,对象是无值的。

  • undefined

    undefined是预定义的全局变量(不是关键字)

null和undefined都表示“值的空缺”,用==判断会返回true, 需要使用===

null == undefined   //true
null === undefined      //false

number

JavaScript中不区分整数和浮点数,一律采用64位浮点数表示。

  • 整数

    • 能够表示的整数范围是 ~ ,包含边界值。在实际操作的过程中则是基于32的整数(数组索引,位运算)。

    • JavaScript中算术运算在上溢下溢被零整除时不会报错,结果会是Infinity-Infinity(上溢,被零整除)和0-0

      正零和负零在被用作除数时,结果分别时Infinity-Infinity,其他情况下二者完全相等。

    • 零除零0/0是没有意义的,结果是NaN(Not a Number)。

      Infinity/Infinity,给负数开方,算术运算符与非数字或无法转换为数字的操作数一起使用,结果都是NaN。

      NaN与任何值都不相等,包括其本身。

  • 浮点数

    • 小数部分只能精确表示2的负整数次幂,即、... (这是由二进制决定的)

      也就是说0.1也无法精确表示

boolean

boolean类型只有两个值,true和false。

任意的JavaScript值都可以被转换成boolean值

  • 以下值都会被转换成boolean

    undefined、 null、 0、-0、NaN、 “”(空字符串)

  • 对象值都会被转换成true

    Boolean('false') //true

你可能感兴趣的:(前端之路——JavaScript中的类型)