2012-07-03 35 views
2

我經常依賴這樣一個事實,即在Javascript中條件運算符不會返回真或假,而是其中一個參數。依賴布爾運算符返回它們的一個操作數是否是一個好習慣?

例如:

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

到目前爲止,我還沒有遇到任何問題,當我試圖找出道格拉斯克羅克福德(讀的JSLint)不得不說的是,我還沒有發現任何問題。

使用這種語法有沒有什麼危險?

+1

@Quentin,什麼標題保存! – gdoron

回答

3

使用這種語法有沒有什麼危險?

(只要你和所有其他開發人員知道這個代碼做什麼...)

1

這是完全記錄和工作在many dynamic languages的方式。使用這種結構是安全的,並且得到了廣泛的認可。

1

該方法是慣用的JavaScript。

使用這種語法有沒有什麼危險?

你必須小心瞭解輸入是什麼。例如如果某件事情需要一個數字,那麼你必須考慮0是一個錯誤的值。

1

只有你可能面臨的問題是一個憤怒的開發者說他們很難閱讀它,並會要求它被重寫爲。

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

是的,我遇到了那些憤怒的開發者。

相關問題