一尘不染

使用if-else速记时省略第二个表达式

javascript

我可以不写if else速记else吗?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();

我注意到将null其他项目放回去是可行的(但是我不知道为什么或如果那是个好主意)。

编辑: 你们中有些人似乎感到困惑,为什么我要尝试这个。请放心,这完全是出于好奇。我喜欢弄乱JavaScript。


阅读 375

收藏
2020-05-01

共1个答案

一尘不染

这也是一个选择:

x==2 && dosomething();

dosomething()仅在x==2评估为true时才会调用。这称为短路。

它在这种情况下不常用,您真的不应该编写这样的代码。我鼓励这种更简单的方法:

if(x==2) dosomething();

您应该始终编写可读的代码;如果您担心文件的大小,只需借助许多JS压缩器之一创建文件的缩小版本。(例如Google的Closure编译器)

2020-05-01