使用默认值破坏函数参数。 Babeljs是否支持"嵌套"默认?

时间:2015-07-02 20:46:21

标签: javascript ecmascript-6 babeljs

我认为我很难解释究竟什么不适合我。基本上我有这个功能:

createBalance(
{
    ColumnData: [, {value: debit=0} = {}, {value: credit=0} = {}]
}, adj) {
    // do stuff with debit and credit values
}

当我尝试使用没有列数据数组中第三个元素的对象调用函数时(例如createBalance({ ColumnData: [foo, {value:20}]} , bar)),我得到错误" TypeError:无法读取属性'值&# 39;未定义"。

我是否尝试在此处错误地使用默认值?我觉得这个网站让我相信这种方法可行:http://www.2ality.com/2015/01/es6-destructuring.html(第1.6节)。

所有这一切,我确实有一个简单的解决方法。我重写了函数:

createBalance(
{
    ColumnData: [, debit = {value:0}, credit = {value:0}]
}, adj) {
    debit = debit.value;
    credit = credit.value;
    // carry on as before...
}

总结一下我的问题,我最初的尝试有什么问题?这是Babeljs目前不支持的事情,还是我误解违约(或解构)?

0 个答案:

没有答案