【发布时间】:2023-04-10 15:22:01
【问题描述】:
尝试学习短路并做一些作业。有以下代码
game.odds.team1 < game.odds.team2 && `${game.team1} is more likely to win` || `${game.team2} is more likely to win`
我的理解是 && 运算符将左侧视为表达式的一部分,将整个右侧视为第二部分。所以我不太明白为什么最后会返回{game.team2}....。
你能帮我澄清一下吗?
附:更准确地说,上面的代码运行良好,并且完成了它必须做的事情,但我很难理解它是如何工作的以及为什么会这样工作。
【问题讨论】:
-
请注意,使用字符串模板意味着您使用的是真实值,因为无论您为其中的变量分配什么,它都是字符串
-
是的,我明白了。这就是我需要的。实际上,我被要求用与三元运算符无关的表达式替换 if/else
-
请添加问题,你有这个代码。
-
让我们用正常的语法写出来:
if (game.odds.team1 < game.odds.team2) { "$game.team1}" } else { "$game.team2" }。实现相同目的只是一种奇怪的语法。 -
那么你可以使用
switch语句
标签: javascript short-circuiting