比较规则
1. 对象和布尔值比较
对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字
console.log([] == true); //false []转换为字符串’’,然后转换为数字0,true转换为数字1,所以为false
2. 对象和字符串比较
对象和字符串进行比较时,对象转换为字符串,然后两者进行比较。
console.log([1,2,3] == ‘1,2,3’); // true [1,2,3]转化为’1,2,3’,然后和’1,2,3’, so结果为true;
3. 对象和数字比较
对象和数字进行比较时,对象先转换为字符串,然后转换为数字,再和数字进行比较。
console.log([1] == 1); // true `对象先转换为字符串再转换为数字,二者再比较 [1] => ‘1’ => 1 所以结果为true
4. 字符串和数字比较
字符串和数字进行比较时,字符串转换成数字,二者再比较。
console.log(‘1’ == 1) // true
5. 字符串和布尔值比较
字符串和布尔值进行比较时,二者全部转换成数值再比较。
console.log(‘1’ == true); // true
6. 布尔值和数字比较
布尔值和数字进行比较时,布尔转换为数字,二者比较。