1+[] // =>"1"
1+{} //=>"1[object Object]"
{}+[] //=>0
[]+{} //=>[object Object]
{}+[] :根据语句优先原则 {}被理解为复合语句块,因此相当于 {}; +[] 。[]为空,结果为0
console.log({}+[]) : js把()中的语句当做一个表达式,因此{}不能被理解为语句块,而被理解为"[object Object]" + "",console.log("[object Object]"+"")打印结果为[object Object]。
其实 console.log({}+[])和[]+{}的结果相同,原理相同,{}作为右值出现被理解为对象直接量
{}+[] 和[]+{}结果不相同,是不是很神奇。
[] == ![] //true 参考https://www.zhihu.com/question/29615998/answer/45667956
0/0 //=>NaN
1/0 //=>Infinity
1/-0 //=>-Infinity
-1/Infinity //=>-0
Number.MAX_SAFE_INTEGER //=>9007199254740991
Number.MAX_VALUE //=>1.7976931348623157e+308
Number.MIN_SAFE_INTEGER //=>-9007199254740991
Number.MIN_VALUE =>//5e-324