【发布时间】:2012-06-19 14:55:26
【问题描述】:
我可以在没有else 的情况下编写if else 速记吗?
var x=1;
x==2 ? dosomething() : doNothingButContinueCode();
我注意到将 null 用于 else 作品(但我不知道为什么或者这是否是个好主意)。
编辑:你们中的一些人似乎对我为什么要费心尝试这个感到困惑。请放心,这纯粹是出于好奇。我喜欢玩弄 JavaScript。
【问题讨论】:
-
我认为有一个
var | var语法。小心,因为它可能很难“看到”,特别是(IMO)三元组是有问题的。谨慎使用。 -
@JaredFarrish 三元组的重点不是比使用 if 语句更容易“看到”吗?还有你说的那个语法是什么,看起来很有趣。
-
不,我不认为它们在所有情况下都更容易。我心中的“重点”是要么把它们全部放在一行上(“我的代码比你的代码短”),要么是针对具有简单结果的特定文字案例。堆叠三元组特别有害,应不惜一切代价避免。
:) -
@Hassan - 我见过类似
foo = bar | cat;的东西,如果第一个是假的呢? null?,它“落入”到第二个。不过我只见过,没用过。 -
@JaredFarrish:这是
a || b或a && b,否则将始终评估b。
标签: javascript ternary-operator conditional-operator shorthand