Назначьте псевдонимы переменным для нового объекта

Как мы можем назначить псевдонимы клавиш для нового объекта, как

var obj1 = { c: 1 }; var obj2= ({ f: c } = obj1 ); console.log(obj2);

OR

var obj1 = { c: 1 }; var obj2= { f: c } = obj1 ; console.log(obj2);

возвращается {c: 1} вместо {f: 1},

Как можно этого добиться?

Я не хочу делать это как

var obj1 = { c: 1 }; var { f: c } = obj1; const obj2 = {f}; console.log(obj2);

1 ответ

Назначение проще, чем деструктурирование в этом случае:

var obj1 = { c: 1 }; 

var obj2= { f: obj1.c }; 

console.log(obj2);

И если вы действительно должны использовать деструктуризацию, вы можете использовать IIFE:

var obj1 = { c: 1 }; 

var obj2= (({ c: f }) => ({ f }))(obj1); 

console.log(obj2);

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