BFE.devAI解答 - JavaScript 小测验
10. Equal
这个JavaScript代码将输出以下内容:
true
true
true
false
false
true
true
true
这是因为在JavaScript中,以下值将被视为“假”:
- false
- null
- undefined
- 0
- NaN
- 空字符串('')
当这些值与其他值进行比较时,它们会被转换为布尔值false。因此,第一个和第二个console.log输出为true,因为0和空字符串都被视为false。
但是,当它们与数组([])进行比较时,数组不会被转换为布尔值false,而是被转换为一个空字符串,因此第三个console.log输出为true。
undefined和null都不会被转换为false,因此第四个和第五个console.log输出为false。
在所有其他情况下,JavaScript会将非布尔值值转换为布尔值true。因此,第六个console.log输出为true,因为非空字符串都被视为true。同样,第七个console.log输出为true,因为1n被视为true。第八个console.log也输出为true,因为字符串' 1 '具有非零长度,被视为true。