Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 54
1.17.1Mehr zum Thema Objektstrukturierung
ОглавлениеEs ist auch möglich, verschachtelte Objekte zu destrukturieren:
let pat = { name: 'Pat', birthday: { day: 14, month: 3, year: 2000 } }
let { birthday: { year: patsBirthYear } } = pat
// Deklariert die Variable patsBirthYear und initialisiert sie mit 2000
Denken Sie auch hier wieder daran, dass die linke Seite der zweiten Anweisung kein Objekt ist, sondern ein Muster für die Zuordnung der Variablen zur rechten Seite. Diese Anweisung ist gleichbedeutend mit:
let patsBirthYear = pat.birthday.year
Ebenso wie bei Objektliteralen können auch hier berechnete Eigenschaftennamen verwendet werden:
let field = 'Age'
let { [field.toLowerCase()]: harrysAge } = harry
// Setzt value auf harry[field.toLowerCase()]