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.引用
对字符串做操作,实际上都是返回一个新的字符串
对象可以修改,它们的值可以改变,两个不同对象即使拥有完全相同的属性和值,它们也不相等。仅当他们拥有同一个底层对象的时候才相等。