JavaScript中,类型转换只有三种:
- 转换成数字
- 转换成布尔值
- 转换成字符串
经典类型面试题
console.log([]==![]); // true
代码分析:
- 左侧是一个对象(数组)
- 右侧是一个布尔值,对象[]转换成布尔值true,因为除了null所有对象都转换成布尔值,所以![]结果为false
- 此时相当于对象==布尔值,依据类型转换规则,转换成数字类型进行比较
- 对象(空数组)转换成0,布尔值false转换成0
- 即0==0,返回true
类型转换规则,如下图:
如若转载,请注明出处:开源字节 https://sourcebyte.cn/article/128.html