最近遇到了一道很有趣的JavaScript试题,感觉很有趣.记录一下免得以后面试遇到 题目是: console.log([]==![],{}==!{},[]==!{},{}==![]) 这道题考察的主要是==号的隐式转换, 对象无论在有没有数据的情况下都为true,所以当console.log({}==!{})时相当于true==!true所以结果为false. 当用双等号判断[]==[]时是按照ToNumber算法来转换的,空数组[]用ToNumber算法转换成0也就是false,而!运算符是…