带空表达式的Javascript三元运算符
我看过一些类似的问题,比如或,但当他们看作业操作时,他们回答了一个不同的问题。例如,我的代码是带空表达式的Javascript三元运算符,javascript,conditional,conditional-statements,ternary-operator,Javascript,Conditional,Conditional Statements,Ternary Operator,我看过一些类似的问题,比如或,但当他们看作业操作时,他们回答了一个不同的问题。例如,我的代码是 !项目.完成了吗?addTask(项目):空 因为我想在条件满足时执行某个函数,或者在条件不满足时什么也不做。我的问题是,作为“空的”第二个表达式传递什么样的内容才算是好的做法 我看到很多人使用null,另一方面,我认为使用空字符串'也是一个有效的选择,因为没有赋值,空字符串的键入速度更快,而且似乎没有任何缺点 您可以使用 我认为这不是三元运算符的好用法 我要么: if (!item.complete
!项目.完成了吗?addTask(项目):空
因为我想在条件满足时执行某个函数,或者在条件不满足时什么也不做。我的问题是,作为“空的”第二个表达式传递什么样的内容才算是好的做法
我看到很多人使用null
,另一方面,我认为使用空字符串'
也是一个有效的选择,因为没有赋值,空字符串的键入速度更快,而且似乎没有任何缺点 您可以使用
我认为这不是三元运算符的好用法 我要么:
if (!item.completed) addTask(item);
或
您可以使用:
!item.completed&添加任务(item)代码>
如果您不需要三元运算符,那么使用三元运算符是没有意义的。如果没有第三件事,三元运算符在这里就不合适。只要使用if
。为什么不直接使用if呢?如果缩小是你的目标,那么“”更好三分之一通常较短,对我来说似乎更具可读性。我投票将此问题作为非主题结束,因为它属于codereview,但我不能转移到那里。从未以这种方式考虑过OR运算符,谢谢你为它打开了新的用途
if (!item.completed) addTask(item);
!item.completed && addTask(item);