解构赋值和默认值

时间:2014-09-15 17:40:49

标签: coffeescript

Coffescript支持函数和解构赋值的默认参数。有没有办法将这些功能结合起来?

针对农业的解构分配

({name, age}) ->
    "#{name} is #{age} years old?"

默认参数值

(name, age = 18) ->
    "#{name} is #{age} years old?"

这样的东西
({name, age = 18}) -> #syntax error
    "#{name} is #{age} years old?"

1 个答案:

答案 0 :(得分:2)

这不受支持,这是一个未解决的问题:https://github.com/jashkenas/coffeescript/issues/1558。 ES6 支持在任何地方使用默认值进行解构,但CS,唉否。

似乎最接近的是在不同的行上初始化:

f = ({a, b})->
  b ?= 2
  console.log {a: a, b:b}

这种诱人(但丑陋)的语法是“劝阻”,目前在最近版本的coffeescript上对我不起作用,但我想是YMMV。

f = ({a, b}, b=2)->
  console.log {a: a, b:b}