七大數(shù)據(jù)類型
Undefined、Null、Boolean瘫证、Number、String庄撮、Object背捌、Symbol
判斷數(shù)據(jù)類型的 4 種方法
typeof 操作符
- undefined —— 未定義的值
- boolean —— 布爾值
- string —— 字符串
- number —— 數(shù)值(包括 NaN )
- object —— 對象 / null
- function —— 函數(shù)
instanceof 操作符
- instanceof 檢測的是對象的原型
- 當 A 的 __proto__ 指向 B 的 prototype 時,就認為 A 就是 B 的實例
- 基本數(shù)據(jù)類型由字面量法創(chuàng)建的不能使用該操作符(如 123 instanceof Number 會報錯洞斯,new Number(123) instanceof Number 返回 true)
- instanceof 遇到網(wǎng)頁中包含的框架 ( iframe ) 時會失效毡庆,因為 instanceof 假定只有一個全局執(zhí)行環(huán)境,所以來自不同 Window 的構造函數(shù)創(chuàng)建出來的實例是沒有聯(lián)系的
Constructor
- constructor 本身是不穩(wěn)定的烙如,默認 Object么抗,重寫 prototype 時引用會丟失
- null 和 undefined 沒有 constructor
toString
toString 是 Object 的原型方法,調(diào)用該方法返回值為 [object xxx]
- [object String] —— '字符串'
- [object Number] —— 123
- [object Boolean] —— true
- [object Symbol] —— Symbol('abc')
- [object Undefined] —— undefined
- [object Null] —— null
- [object Function] —— new Function()
- [object Date] —— new Date()
- [object RegExp] —— new RegExp()
- [object Error] —— new Error()
- [object HTMLDocument] —— document
- [object global] —— window
== 操作
- null == undefined —— true : undefined 值派生自 null亚铁,所以值相等
- 0 == false —— true
- "" == false —— true
- null == false —— false
- undefined == false —— false
- NaN == NaN —— false
- Symbol(123) == Symbol(123) —— false