coffeescript重构
是否有任何特定于coffeescript的花招可以让这看起来更整洁:coffeescript重构,coffeescript,Coffeescript,是否有任何特定于coffeescript的花招可以让这看起来更整洁: index = (-> if segment == 'index' return 0 else if segment == 'inbox' return 2 1 )() 是,开关表达式: index = switch segment when 'index' then 0 when 'i
index = (->
if segment == 'index'
return 0
else if segment == 'inbox'
return 2
1
)()
是,开关表达式:
index = switch segment
when 'index' then 0
when 'inbox' then 2
else 1
是,特定于CoffeeScript的存在运算符:
index = {'index': 0, 'inbox': 2}[segment] ? 1
您还可以使用内联if语句来摆脱函数调用:
index = if segment == 'index' then 0 else if segment == 'inbox' then 2 else 1
但是在纯Javascript中,内联if不会更难:
index = segment == 'index' ? 0 : segment == 'inbox' ? 2 : 1
如果。。。然后。。。else语句使用
\
字符分成多行(为了可读性)
index = if segment == 'index' then 0 \
else if segment == 'inbox' then 2 \
else 1
如果您的条件逻辑对于一个简单的开关
块来说太复杂,这将非常有用