2

私はよく、Javascriptでは条件演算子がtrueまたはfalseを返さず、引数の1つを返すという事実に依存しています。

例えば:

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

これまでのところ問題は発生しておらず、ダグラス・クロックフォード(JSLintを読む)がそれについて何と言っているかを調べようとしたところ、問題は見つかりませんでした。

この種の構文を使用することに危険はありますか?

4

4 に答える 4

3

この種の構文を使用することに危険はありますか?

いいえ。

(あなたと他のすべての開発者がこのコードが何をするかを知っている限り...)

于 2012-07-03T21:06:27.900 に答える
1

これは完全に文書化されており、多くの動的言語でそのように機能します。この構造は安全に使用でき、広く認識されています。

于 2012-07-03T21:09:31.173 に答える
1

アプローチは慣用的なJavaScriptです。

この種の構文を使用することに危険はありますか?

入力が何であるかを知ることに注意する必要があります。たとえば、何かが数値を期待している場合0、誤った値であることを説明する必要があります。

于 2012-07-03T21:09:37.627 に答える
1

あなたが直面するかもしれない唯一の問題は、それを読むのに苦労し、それを次のように書き直すことを要求するだろうと怒っている開発者です。

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

はい、私は怒っている開発者に出くわしました。

于 2012-07-03T21:35:30.410 に答える