0

不知道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) 中获取参数对象并将它们解构以准备使用?

4

1 回答 1

1

有几种方法可以做到这一点。第一个是将所有参数存储在一个变量中然后破坏它

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...
};

于 2019-01-10T14:02:11.020 回答