在 JavaScript 中...
'\t\n ' == false // true
我可以假设任何仅由空白字符组成的字符串在 JavaScript 中都被视为等于 false
。
According to this article ,我认为 false
将被转换为 0
,但无法使用 Google 找到被认为等于 false
的空格。
这是为什么?除了深入研究 ECMAScript 规范之外,还有关于这个主题的一些好的读物吗?
最佳答案
This page提供了一个很好的规则总结。
按照这些规则,'\t\n '
被转换为数字 (Number('\t\n') ==> 0
),并且 false
被转换为数字 (Number(false) ==> 0
),因此两者相等。
Alex's answer也是对 '\t\n ' == false
特殊情况的很好分解。
一个重要的区别是 '\t\n '
是不是 伪造的。例如:
if ('\t\n ') alert('not falsy'); // will produce the alert
关于javascript - 为什么 `'\t\n 在 JavaScript 中是 ' == false`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5634372/