关于奇葩面试题

console.log([]==![]);
!比==先算,空数组是一个对象所以右边的值变成了false [] == false;
当值类型的数据和引用类型的数据进行运算(算数运算,关系运算)的时候,会遵守如下的步骤。 1. 会调用引用类型数据的valueOf方法,获取返回值,尝试和值类型的数据进行运算, 如果可以计算,就得出结果2. 如果不能计算,就继续调用这个引用类型数据的toString方法,获取返回值,进行计算![].toString()
// “”
空字符和false比较,自然就返回了false
链接:https://www.zhihu.com/question/29615998/answer/252373294

console.log([]==![]); //true
console.log([]==[]);;//false
console.log( []==!![] );;//false
console.log([]==!!’hello’);//false
console.log(!!’hello’); //true



===

猜你喜欢

转载自blog.csdn.net/wen_binobject/article/details/80007551