无论是 Map, Set, RegExp, Array 等全是基于 objectNote:typeof null === 'object'
返回 true,内部 BUG 且无法修复。typeof NaN === 'number'
且NaN !== NaN
,只能通过Number.isNaN
判断。NaN
的含义是无法表示的数字。
1
Int000
Object010
Double100
String110
Booleanundefined
用整数 −2**30
次方,溢出的方式表示null
机器空指针,标志位也是 000
。typeof
是基于类型的标记做的判断,因此 typeof null === 'object'
bigint
能表示大于 bigint
只能与 bigint
进行运算,不能直接与 number
进行运算。bigint
存在符号,所以不支持无符号位移运算符 >>>
和 <<<
。 为了兼容 asm.js ,BigInt 不支持单目 (+) 运算符。bigint
能够直接与 number
进行比较运算。 但是不是严格相等的,而是宽松相等的。