這是一個流行的模式,以指定一個默認值:Chrome Javascript是否正確評估布爾表達式?
var aBool = '' || false;
var aString = false || '';
上述會給aBool
布爾false
值,ASTRING一個空字符串的值,至少在Chrome的和FF的控制檯。這是相反的:
如果它可以轉換爲true,則返回expr1;否則,返回 expr2。因此,當與布爾值一起使用時,||如果 操作數可以轉換爲true,則返回true;如果兩者都可以轉換爲假,則 返回false。 來源:mozilla
這實際上很方便,但它是正確的嗎?
不,它不是,實際上沒有意義。隨意編輯該頁面(「因此...」部分應該被刪除)。 – georg
「如果可以將其轉換爲'true',則返回'expr1';否則返回'expr2'」是句子的重要部分 –
有什麼不對,對我來說似乎是正確的? *如果與布爾值*一起使用,如果其中一個操作數爲true,則返回true;如果兩個都爲false,則返回false? – adeneo