不知道ES6是否可以。 我在一个项目中工作,该项目的功能是传递带有许多属性的对象。现在的代码如下:
function foo({arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8}){
this.model = arg1;
this.model = arg2;
// and so on...
};
obj = {
arg1: 'some',
arg2: 'whatever',
arg3: 'text'
// and so on up to 8
arg8: 'end text'
}
foo(obj);
Mi DESIRED输出将尽可能访问如下参数:
function foo( {...args} ){ // not working
this.model = arg1;
this.model = arg2;
// and so on...
};
obj = {
arg1: 'some',
arg2: 'whatever',
arg3: 'text'
// and so on up to 8
arg8: 'end text'
}
foo(obj);
所以问题是:函数是否有任何方法可以在单个var(args)中获取参数对象,并对其进行分解以准备使用?
答案 0 :(得分:1)
有几种方法可以做到这一点。 第一个是将所有的argumens存储在一个变量中然后销毁它
function foo(...args){
const { arg1, arg2 } = args
this.model = arg1;
this.model = arg2;
// and so on...
};
或
function foo({ arg1, arg2 }){
this.model = arg1;
this.model = arg2;
// and so on...
};