在javascript中,空字符串总是假的布尔值吗?
2022-08-30 02:26:51
在javascript中,
var a = '';
var b = (a) ? true : false;
var b
将设置为 。false
这是一个可以依赖的定义行为吗?
在javascript中,
var a = '';
var b = (a) ? true : false;
var b
将设置为 。false
这是一个可以依赖的定义行为吗?
是的。Javascript 是 ECMAScript 的一种方言,ECMAScript 语言规范明确定义了这种行为:
ToBoolean
如果参数为空字符串(其长度为零),则结果为 false;否则结果为真
摘自 http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
是的。所有 、 、 空字符串和 、 、 和 的计算结果始终为 ;其他一切都是.false
0
''
""
NaN
undefined
null
false
true
在您的示例中,b 是在评估之后。(我想你写错了false
true
)