不起眼的js小知识
你不知道的js
https://juejin.cn/post/6844903815053852685#heading-4
1 函数申明和变量申明都会被提升,但是函数优先 (40)
2 es6的扩展运算符和Objec.assign是浅拷贝 (只有第一层为深拷贝)
3 用Number.isNaN判断是否是NaN
4 (-0).toString() === '0' ,去掉了 - 。1 / 0 = Infinity;1 / -0 = -Infinity 。可以利用这个特性解决
5 JS如何判断null类型
Object.prototype.toString.call(null) // "[object Null]"
原理:Object对象和它的原型链上各自有一个toString()方法,第一个返回的是一个函数,第二个返回的是值类型。