如果vs&&在JavaScript中
One-line if vs && in JavaScript
之间是否存在任何有意义的差异
condition && console.log("this may run");
和
if (condition) console.log("this may run);
如果不是,哪种做法是最佳做法?
您应该使用第二个。
您的代码应该说明它的含义。这就是编写"语义"代码的含义。如果您正在编写If条件,那么您应该使用if
语句,因为这就是它的作用。从语义上讲,&&
是一个逻辑和,应该在您对两个值的逻辑结合所产生的逻辑值感兴趣的情况下使用。
正如其他答案所建议的那样,编写语义代码使编写、理解和维护更容易。就这条评论而言:
如果其他人可能需要阅读或维护,请使用第二个。
记住,"六个月后的你"就是"别人"。
当你指的是if
:时,以下是使用if
的一些具体原因
-
如果你想添加一个
else
子句,你可以直接添加它。如果你已经写了a && b
,那么你必须把它重写为a ? b : c
。 -
假设您使用了大括号,如在
if (a) { b; }
中,那么您可以通过编写if (a) { b; c; }
,轻松地向正文添加另一个步骤。如果您已经编写了a && b
,那么您需要将其重写为a && (b, c)
或类似的内容;在某些情况下,如果c
不能用作表达式,则这甚至是不可能的。 -
一些门楣人会(合理地)抱怨
a && b
。
请注意,minifier通常会将第二个示例转换为第一个示例,因此,如果使用&&
的基本原理是保存字节,则它们无论如何都会由minifier保存。
没有区别,但可以说前一个是后一个的简写符号。
我建议您使用后面的条件,它使代码更易于解释,产生相同的结果,并且具有几乎相同的字符数。
如果您可以维护代码,那么就使用您喜欢的代码。
如果其他人可能需要阅读或维护,请使用第二个。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 一点javascript元编程&可链接的设置器
- 关于引入外部javascript文件的问题&css通过https
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- 日志Javascript&电子(原子外壳)
- 转换异常时间&Datestring到JavaScript日期
- Regex&Javascript:忽略wxyz.jpg之前的任何内容
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 我应该用K&编写javascript时的R样式
- 使用javascript&自定义验证器检查开始日期和结束日期
- 什么正在取代我的'以及“;javascript代码中使用'和&”;
- 如何安全地获取&使用Facebook应用程序访问令牌发送通知使用PHP&Javascript
- Trouble overlaying one div with another with JavaScript &
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 如果没有添加PHP&Javascript
- 简单HTML&JavaScript外壳游戏
- Javascript:函数bind.click&对于每个复选框
- 将本地MySQL数据库与PHP&谷歌地图上的JavaScript
- Javascript散列导航&外部js文件