Наразі є пропозиція щодо вдосконалення синтаксису стенограми об'єкта JavaScript, що дозволило б "вибрати" названі властивості без повторення:
const source = {id: "68646", genre: "crime", title: "Scarface"};
const target = {};
Object.assign(target, {source.title, source.id});
console.log(picked);
// {id: "68646", title: "Scarface"}
На жаль, здається, що ця пропозиція незабаром нікуди не дінеться. Останнє редагування в липні 2017 року і все ще залишається чернетом на етапі 0 , припускаючи, що автор, можливо, вийшов з нього або забув про нього.
ES5 та новіші версії (нестрогий режим)
Найкоротший можливий стенограф, який я можу припустити, включає стародавню мову, яку ніхто більше не використовує:
Object.assign(target, {...(o => {
with(o) return { id, title };
})(source)});
with
заяви заборонені в суворому режимі, що робить цей підхід марним для 99,999% сучасного JavaScript. Соромно, бо це єдине наполовину гідне використання, яке я знайшов для цієї with
функції. 😀
Object.assign
; es6 - це як ялинка з такою кількістю подарунків під нею Я все ще знаходжу подарунки через місяці після свята