NanN属于数字类型,并且不等于自身
typeof null时会显示 object ,虽然null也是基本类型,所以判断是否时Object类型时
用 console.log(Object.prototype.toString.call(obj) === "[object Object]");可以避免obj时null或者Array的情况。
js基本类型 null ,undefined,string,number,boolean,symbol
顶层对象 :var和function声明的全局变量属于顶层对象的属性(window.X),但是let,const,class命令声明的全局变量不属于
- 浏览器里面,顶层对象是
window
,但 Node 和 Web Worker 没有window
。 - 浏览器和 Web Worker 里面,
self
也指向顶层对象,但是 Node 没有self
。 - Node 里面,顶层对象是
global
,但其他环境都不支持。
实现同时在各种情况下都能取到顶层对象的方法是 用typeof进行判断然后返回正确的值
symbol.toPrimitive()可以将对象转换为 number或者字符串类型