== 代表相同, ===代表严格相同。
[] + {} === 0 结果为 false ,而 {} + [] === 0 的结果却为 true
首先要明确[]是数组,{}是对象或者是空代码块。
{} + [] === 0 中, {} 一定是被解释成了代码块,也就是说 {} 实际上并不是所谓的表达式的一部分,而 {} + [] === 0 也能被等价地转换为 + [] === 0
此时, [] 被转换为字符串 '' ,而一元加号又会将字符串 '' 转换为数字 0 ,很显然 0===0 结果为 true。
不过还有待完善,挺好的,不错的资源。
这么久了终于弄明白这个问题
==用于进行一般比较两个操作数是否相等,允许类型转换。===只要类型不一样就会返回false