Разрушающий объект передается как аргумент функции
Не знаю, возможно ли это с 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...
};