var text = 'abc';
if(text = '' || text != '')
console.log(text);
else
console.log('in else');
這只是一個無用的代碼片段,但它給出了我根本沒有想到的奇怪結果。所以我的好奇心把我帶到了這裏。如果語句更新變量
僅打印true
。
爲什麼它將text
的值更新爲true
而不是將其設置爲空?
var text = 'abc';
if(text = '' || text != '')
console.log(text);
else
console.log('in else');
這只是一個無用的代碼片段,但它給出了我根本沒有想到的奇怪結果。所以我的好奇心把我帶到了這裏。如果語句更新變量
僅打印true
。
爲什麼它將text
的值更新爲true
而不是將其設置爲空?
條件'' || text != ''
評估爲true
。然後將該值分配給變量text
。
這裏,''
是錯誤值,所以執行||
(OR)後的下一個條件。由於text
的值不是空字符串,因此條件text != ''
返回true,並將此值分配給text
。
使用'text ==''' – Tushar
@Tushar我知道,我沒有檢查條件。我正在更新var – Shaharyar
您可能想要的內容 –