JS犀牛书第三章类型、值和变量读书笔记

96 阅读1分钟

1.NaN

NaN不等于本身

let x = NaN
console.log("test NaN")
console.log(isNaN(x))
console.log(Number.isNaN(x))

2.假性值、真性值

js的值都可以用boolean类型来表示

其中false和可以转换为它的6个值可以被称为假性值,其他所有值称为真性值

  • undefined
  • null
  • 0
  • -0
  • NaN
  • ""

3.null

typeof(null) 返回object

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

4.js原始数据类型

  • Number
  • String
  • Boolean
  • Object
  • undefined
  • null
  • Symbol (新增)

5.Symbol

  • Symbol('desc') Symbol() 括号种的内容代表Symbol的描述,只是为了方便开发种辨识的,并不是Symbol的值。

  • 每一个Symbol的数据都独一无二,不能划等号

    var s1 = Symbol('666')
    var s2 = Symbol('666')
    s1 === s2  //false
    
  • 可以用来定义常量(数量多的情况下),保证不会重复

  • 使用Symbol可以定义对象的唯一属性名

6.引用

对字符串做操作,实际上都是返回一个新的字符串

对象可以修改,它们的值可以改变,两个不同对象即使拥有完全相同的属性和值,它们也不相等。仅当他们拥有同一个底层对象的时候才相等。