数据类型

2019-11-17  本文已影响0人  fejavu

基本类型和引用类型
ES6之后,JS中有7中基本类型:String, Number, Boolean, Null, Undefined, BigInt, Symbol,和一种复杂数据类型(引用类型)Object。

typeof操作符
typeof可以检测一个变量的类型,

特殊点:

  1. 调用typeof null会返回object因为特殊值null被认为是一个空的对象的引用。
  2. undefined 只有一个值,就是undefined,在使用var声明变量但未对其初始化时,该变量的值为undefined;如果一个值没有声明,则该错误为Reference Error,引用错误。
  3. 如果一个变量定义时准备在将来用于保存对象,则最好将该变量初始化为null
  4. Boolean 类型转化,空字符串,0NaNundefined, null 在转化成布尔类型时都为false;其余为true
  5. Number类型,0.1+0.2 === 0.3为什么是false?因为计算机中存储数据的进制为2进制或8进制,16进制,存储0.1和0.2时存储成一个循环小数,因此相加时不严格等于0.3;
  6. 自增运算符,自减运算符。前置和后置,区别就是前置运算符先改变变量的值,后求值;后置运算符是先求值,后改变变量的值。
  7. 逻辑与(&&)\逻辑或(||)属于短路操作,如果第一个操作数能够决定结果,就不会对第二个操作数求值;如第一个操作数:
null && obj;
undefined && obj;
NaN && obj

let found = true;
let res = found || somethingUndefined;
console.log(res) ;  // true

在上面代码中,如果第一个操作数已经决定结果,第二个操作数不会被求值。例如res直接返回的是true的结果。

  1. 任何操作数与NaN进行比较,结果都是false
var res = NaN > 3;  // false
var res2 = Nan <= 3;  // false
  1. null == undefined // true
上一篇 下一篇

猜你喜欢

热点阅读