2013-05-20 3 views
5

私はif文のための略式のJavascript表記を探してウェブ上をサーフィンしていました。 ifはelseだけではありません。私の質問:それは存在するのですか?例えば:短い表記のJavascript

(i === 0) ? onlyMyTrueValue; 

は、私が見つけるように見えるだけスニペットは、このいずれかになります。

(i === 0) ? myTrueValue : myFalseValue; 
+3

Googleの短絡評価。 –

+2

'if'文を書く短い方法は' if(i === 0)somevar = someval; 'ですが、JSミニファイアーにそれを扱わせるべきです。 – zzzzBov

答えて

14

あなたが行うことができます。

(i === 0) && onlyMyTrueValue; 

上記の文の右辺がいる場合にのみ実行されます左側が通過する。

+0

JavaScriptのこの機能は私をそんなに傷つけてしまった。 – ajp15243

+0

私はこれについて知っていたでしょう。+1 – tymeJV

+0

@ ajp15243 - 私は自分の耽溺を否定できません。;-) – techfoobar

11

(i === 0) && onlyMyTrueValue;を実行できますが、わかりやすくするためには使用しないでください。

(i === 0) ? onlyMyTrueValue; 

そして昔ながらの場合:

はあなたの元を比較

唯一のより多くの文字、および &&方法と同じ文字数です
if (i === 0) onlyMyTrueValue; 

。読めるように選択してください。

+2

+1は可読性が重要であることを示唆しています。私は 'var foo = bar || []; 'は、あなたが割り当てようとしている値(' bar')が 'undefined'や' null'のようなものであれば、デフォルト値を代入するのに役立ちます。 – ajp15243

+2

可読性は、時間の99.9%を分岐するコードを読むときに**最も重要なものです。短絡方法は読みにくいです。最初にクロージャーコンパイラを使ってコードを実行するファイルサイズが心配な人は、短絡する可能性を最小限に抑えます。 –

+1

@nathanhayfield彼はちょうどOPを引用し、その仮説と比較していた。 – 1983

関連する問題