CoffeeScript

CoffeeScriptで三項演算子

More than 5 years have passed since last update.

CoffeeScriptでは、?は

「?の手前の値が存在するかチェックするコード」

に変換するためのものだから、

三項演算子にコンパイルするすべがないと思ってたけど、

普通にあった。

val = a ? b : c #思った通りには変換されない

val = if a then b else c #三項演算子に変換!

「if a then b else c」は普通のif文に変換なのだけど、

変数に代入するように書くと三項演算子にコンパイルされる!

番外編

aが存在するときはa、ないときはbを代入みたいなことってよくありますね。

val = if a then b #意図しない三項演算子に変換される。

val = a ? b #(ちょっと丁寧なチェックをする)意図したコードに変換される。

どうぞお試しください。