为什么空字符串和假布尔值之间的逻辑与比较返回空字符串?为什么字符串和假布尔值之间的逻辑AND比较返回false?为什么JavaScript为“逻辑与”操作返回空字符串?
例子:
'' && true; --> returns ''
'string' && true --> returns true;
'' && false --> returns ''
'string' && false --> returns false;
问题是,为什么要使用JavaScript行为这种方式?
它返回离开表达式的第一个决定值。 –
你也可以用'0'和'NaN'获得相同的结果。这是JavaScript中的一个“虚假”值。所以你的逻辑AND返回与'false'相同的值(因为'true && false'是'false')。 https://developer.mozilla.org/en-US/docs/Glossary/Falsy – Walk