Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 空字符串应为';假';_Javascript_If Statement_Conditional Statements - Fatal编程技术网

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的上下文中,如果语句被解释为布尔值,那么您将得到与预期相同的真

Javascript代码:

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