2015-07-13 1 views

Répondre

23

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}) { 

}