これをすっきりさせるコーヒースクリプト固有のトリックはありますか?
index = (->
if segment == 'index'
return 0
else if segment == 'inbox'
return 2
1
)()
これをすっきりさせるコーヒースクリプト固有のトリックはありますか?
index = (->
if segment == 'index'
return 0
else if segment == 'inbox'
return 2
1
)()
はい、switch
式:
index = switch segment
when 'index' then 0
when 'inbox' then 2
else 1
if ... then ... else
文字を使用して、(読みやすくするために)複数行に分割されたインラインステートメントを使用できます\
。
index = if segment == 'index' then 0 \
else if segment == 'inbox' then 2 \
else 1
switch
これは、条件付きロジックが単純なブロックに対して複雑すぎる場合に役立ちます。
はい、CoffeeScript固有の実存演算子:
index = {'index': 0, 'inbox': 2}[segment] ? 1
インラインifステートメントを使用して、関数呼び出しを取り除くこともできます。
index = if segment == 'index' then 0 else if segment == 'inbox' then 2 else 1
しかし、ストレートJavascriptでこれ以上難しくない場合は、インライン:
index = segment == 'index' ? 0 : segment == 'inbox' ? 2 : 1