解构后的函数参数并将其散布到文字对象中

时间:2019-12-21 15:40:35

标签: javascript ecmascript-6 arguments

在将对象作为参数并对其进行解构以仅选择所需对象的函数( fenceBasic )中,可以将(子)参数重构为文字对象。< / p>

传统上有一个arguments对象可用,但在以下 fenceSpread 函数中,它似乎是未定义的对象:

const next = (obj) => {
    console.assert(obj.arg1 === 'A', obj);
    console.assert(obj.arg2 === 'B', obj);
};

const fenceBasic = ({ arg1, arg2 }) => {
    console.log('basic way');
    next({ arg1, arg2 });
};

const fenceSpread = ({ arg1, arg2 }) => {
    console.log('spread way');
    next({...arguments});
    console.debug(arguments);
};

const various_data = {
    arg1: 'A',
    arg2: 'B',
    arg3: 'C'
};

fenceBasic(various_data);
fenceSpread(various_data);

还有其他方法可以实现这一目标吗?还是应该保留在“ fenceBasic”表单上?

0 个答案:

没有答案