Javascript 空字符串应为';假';
Javascript代码:Javascript 空字符串应为';假';,javascript,if-statement,conditional-statements,Javascript,If Statement,Conditional Statements,Javascript代码: var empty=''; console.warn(typeof(empty&&null));/'字符串“关于&&(逻辑and运算符),在中明确说明了这一点: 如果可以将expr1转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,如果两个操作数都为true,&&将返回true;否则,返回false 因此,实际上,它将返回您案例中的第一个表达式——设计为空字符串。在if的上下文中,如果语句被解释为布尔值,那么您将得到与预期相同的真
var empty='';
console.warn(typeof(empty&&null));/'字符串“
关于&&
(逻辑and运算符),在中明确说明了这一点:
如果可以将expr1转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,如果两个操作数都为true,&&将返回true;否则,返回false
因此,实际上,它将返回您案例中的第一个表达式——设计为空字符串。在if的上下文中,如果语句被解释为
布尔值,那么您将得到与预期相同的真/假结果,或者直接执行强制转换。基本上,代码的计算结果如下:
如果empty为“truthy”,则在null
上运行typeof
,否则在empty
变量上运行它。
所以empty
是错误的,因为它是一个空字符串,这就是为什么它在typeof
上运行,而不是在null
上运行string
是的类型字符串”
空的只是变量的名称。因此,typeof
返回名为empty
的变量的类型,它是string
。