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 #(ちょっと丁寧なチェックをする)意図したコードに変換される。
どうぞお試しください。