Jest to skrót właściwości inicjalizatora obiektu w ES6.
var f = {a, b, c, d:1};
To działa, ponieważ wartość właściwości ma taką samą nazwę jak identyfikator właściwości. Jest to nowy dodatek do składni inicjalizatora obiektu ( sekcja 11.1.5 ) w najnowszej wersji roboczej ECMAScript 6 w wersji 13 . I oczywiście, podobnie jak w przypadku ograniczeń określonych w ECMAScript 3, nie możesz używać zastrzeżonego słowa jako nazwy swojej właściwości.
Taka skrótowość nie zmieni radykalnie twojego kodu, a tylko sprawi, że wszystko będzie trochę słodsze!
function createCar(name, brand, speed) {
return { type: 'Car', name: name, brand: brand, speed: speed };
}
function createSweetCar(name, brand, speed) {
return { type: 'Car', name, brand, speed };
}
Zapoznaj się z tabelą zgodności, aby uzyskać informacje o obsłudze tych notacji. W środowiskach nieobsługujących te notacje będą prowadzić do błędów składniowych.
Ta skrócona notacja oferuje całkiem dobre dopasowanie obiektów:
W ECMAScript5 co zwykliśmy robić:
var tmp = getData();
var op = tmp.op;
var lhs = tmp.lhs;
var rhs = tmp.rhs;
Można to zrobić w ECMAScript6 za pomocą jednej linii kodu:
var { op, lhs, rhs } = getData();