JavaScript-类型转换[重复]

问题描述 投票:0回答:2

此问题已经在这里有了答案:

    > "s" && true;
    true
    > true && "s";
    's'

我以为这两个表达式将返回相同的值。为什么不?它是如何工作的?

javascript
2个回答
1
投票

请参见MDN

expr1 && expr2:如果将expr1转换为true,则返回expr2;否则,返回expr1。

[&&的值等于最后一个真实表达式的值,因此,如果两个操作数都是真实的,则整个结果将等于第一个操作数。

如果第一个操作数为falsey,它将求值为第一个操作数的(falsey)值。

类似于||,您可以将其视为对确定最终值的表达式的值求值。 (如果评估左操作数的结果为||,则为真实结果,则无需评估右-类似地,如果右操作数的结果为&&,则为假结果,则无需评估左值。)


0
投票

请参见MDN

expr1 && expr2:如果将expr1转换为true,则返回expr2;否则,返回expr1。

[&&的值等于最后一个真实表达式的值,因此,如果两个操作数都是真实的,则整个结果将等于第一个操作数。

如果第一个操作数为falsey,它将求值为第一个操作数的(falsey)值。

© www.soinside.com 2019 - 2024. All rights reserved.