我想实现这个
if a?
switch a
'hello'
else 'hi'
如果条件不为null或未定义,如何使用switch语句链接if语句?
答案 0 :(得分:1)
据我所知,您的切换语法错误。这样的东西可能就是你想要的东西:
f = (a) ->
if a?
switch a
when 'bonjour'
'hello'
else
'yo'
else
'hi'
console.log f null
console.log f 'bonjour'
console.log f 'guten tag'
产:
sh$ coffee t.coffee
hi
hello
yo
请注意,对于else
语句(表示默认情况)和switch
语句,您可以关闭if
。< / p>
根据您的需要,您可能希望以相反的方式编写:
f = (a) ->
switch a
when 'bonjour'
'hello'
else
if a? then 'yo' else 'hi'
甚至完全摆脱if
:
f = (a) ->
switch a
when 'bonjour'
'hello'
when null, undefined
'hi'
else
'yo'
答案 1 :(得分:-1)
有效。我发现我有间距错误。