livescriptにも、Rubyでいうところのcase文が存在します。
直感的な記法は次の通り。
x = 2 str = switch x case 1 then "re:1" case 2 then "re:2" default "none"
私のようなRuby文化圏の人間には気味の悪い構文なので
coffeeScriptのように
str = switch x when 1 then "re:01" when 2 then "re:02" else "none"
さらに、エイリアスにより以下のようにも書き下すことができます。
x = 9 str = switch x | 1 => "re:01" | 2 => "re:02" | otherwise => "none"
……こんなもの初見でみてもわからないですね。
さらに、上の例は
x = 2 str = | x == 1=> "re:01" | x == 2 => "re:02" | otherwise => "none"
とswitchすら消し去ることもできます。
また、どういうわけかswitch構文は関数にも持たすことができるため
fnc = (x) -> | typeof! x == "Number" => "Num" | typeof! x == "String" => "Str" fnc("8") #=> "Num"
とかいう、実に気色の悪いことができます。
もう無茶苦茶ですね(白目