if语句更新变量

Sha*_*yar 4 javascript if-statement

var text = 'abc';
if(text = '' || text != '')
    console.log(text);
else
    console.log('in else');
Run Code Online (Sandbox Code Playgroud)

它只是一个无用的代码片段,但它给出了我根本没想到的奇怪结果.所以我的好奇心把我带到了这里.

它只打印true.

为什么它更新texttrue而不是将其设置为空?

Poi*_*nty 7

表达方式

text = '' || text != ''
Run Code Online (Sandbox Code Playgroud)

被解析为

text = ('' || text != '')
Run Code Online (Sandbox Code Playgroud)

的价值

('' || text != '')
Run Code Online (Sandbox Code Playgroud)

true因为text != ''是布尔值true.