在将对象作为参数并对其进行解构以仅选择所需对象的函数( 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”表单上?