Przeglądałem kod innych ludzi i podczas gdy ES2015 w ogóle wykorzystuje trochę czasu, jednak wciąż utknąłem z Destructuring.Zrozumienie kontekstu nawiasów klamrowych '{}'
Poprzednio w języku Javascript klamry kręcone {}
były używane do bloków lub obiektów. na przykład
// Curly Brackets Block
If() {
...
}
// Curly Brackets in Obj
var obj = {
a : 1,
...
}
Jednak rozpad, ponownie i ponownie zobaczyć następującą składnię:
let a = ({ a, b }) => {
}
Moje pytanie jest pojemnik argumenty rzeczywisty przedmiot lub po prostu blok? Proszę wyjaśnić, czy następuje taka sama jak powyższym kodzie:
let a = (a, b) => {
}
EDIT: Moje zrozumienie (jak dotąd) z lektury artykułu Axel Rauschmayers na Destruturing jest to, że są tylko mapowania rekwizyty. w nowy Obj zawsze? I.e:
let a = { first : a, second : b } = AnObj;
===
a.a === AnObj.first;
a.b === AnObj.second;
Czy powyższe pytanie jest prawidłowe? Czy obiekt zawsze tworzy instancję? Jednak to nie ma sensu, jak w powyższej funkcji, obiekt w ten sposób stworzony dla rekwizytów byłby obiektem anonimowym, prawda?
Dziękujemy,
Przeczytaj ten jeden, będzie Ci dużo [destructuring] (https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20&%20beyond /ch2.md#destructuring) – Vardius
Jeśli naprawdę chcesz wiedzieć, co się stanie, gdy przetwarzanie destruktury zostanie przetworzone, zajrzyj do specyfikacji: http://www.ecma-international.org/ecma-262/6.0/#sec -destructuring-assignment –