2016-12-02 31 views
2

我已经看过类似的问题,如thisthis,但他们在回答分配操作时会回答不同的问题。例如我的代码是具有空的第二个表达式的Javascript三元运算符

!item.completed ? addTask(item) : null

,因为我想,如果条件得到满足,执行某个功能或者什么也不做,如果它不符合。我的问题是什么被认为是一个好的做法,通过一个'空'的第二个表达?

我看到了很多的使用null,而另一方面人们我觉得用一个空字符串''也是一个有效的选项,因为没有分配发生了一个空字符串是更快的类型和似乎并不有任何缺点。

+2

如果没有第三件事物,三元运算符在这里是不合适的。只需使用“if”即可。 – Amy

+1

为什么不只是使用?如果缩小是你的目标,那么''是更好 –

+0

三元通常较短,似乎对我更可读 – AntK

回答

11

你可以使用logical or ||

item.completed || addTask(item) 
+1

从来没有这样想过OR运算符,谢谢你打开它的新用法 – AntK

3

我觉得这不是一个好的使用三元运算符。

我倒是要么是:

if (!item.completed) addTask(item); 

或者

!item.completed && addTask(item); 
1

你可以使用:

!item.completed && addTask(item);

有使用三元如果你不需要任何点它。

相关问题