Разрушающий объект передается как аргумент функции

Не знаю, возможно ли это с 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);

Итак, вопрос: есть ли способ для функции получить объект параметра в одной переменной (args) И разложить их, чтобы они были готовы к использованию?

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

Другие вопросы по тегам