Ce sont method definitions, computed property names et destructuring au travail.
définitions de méthode fournissent une manière concise pour créer des propriétés qui contiennent des fonctions:
// before
var obj = {
foo: function() {}
};
// now
var obj = {
foo() {}
};
C'est la même syntaxe pour créer des méthodes class
définitions.
Les propriétés calculées vous permettent d'utiliser le résultat d'une expression comme nom de la propriété dans un objet littéral:
var foo='somePropertyName';
// before
var obj = {};
obj[foo] = 42;
// now
var obj = {
[foo]: 42
};
Et bien sûr, cela fonctionne aussi avec des définitions de méthode:
var obj = {
[foo]() {}
};
La déstructuration est similaire à la correspondance de modèle et facilite la référence aux propriétés imbriquées d'un tableau/o bject si c'est tout ce dont vous avez besoin:
// before
function foo(obj) {
var username = obj.username;
var res = obj.res;
}
// now
function foo({username, res}) {
}