依赖布尔运算符返回其中一个操作数是一个好习惯吗?

时间:2012-07-03 21:05:14

标签: javascript

我经常依赖于Javascript条件运算符不返回true或false但其中一个参数的事实。

例如:

function(e){
    this.someotherfunction.apply(this, e.config || []); 
}

到目前为止,我还没有遇到任何问题,当我试图找出道格拉斯·克罗克福德(阅读JSLint)对此有何看法时,我没有发现任何问题。

使用这种语法有危险吗?

4 个答案:

答案 0 :(得分:3)

  

使用这种语法有危险吗?

没有

(只要您和所有其他开发人员都知道此代码的作用...)

答案 1 :(得分:1)

这是完整的文档,并在many dynamic languages中以这种方式工作。使用这种结构是安全的,并得到广泛认可。

答案 2 :(得分:1)

这种方法是惯用的JavaScript。

  

使用这种语法有危险吗?

你必须要小心知道输入是什么。例如如果某事需要一个数字,那么你必须考虑0为假值。

答案 3 :(得分:1)

只有你可能面临的问题是愤怒的开发人员说他们很难阅读它并要求将其重写为。

foo : function (e) {
    var config =  e.config || [];
    this.someotherfunction.apply(this,config); 
}

是的,我遇到了那些愤怒的开发者。