Enhanced Object Literals
1. Property value shorthands
Section titled “1. Property value shorthands”Wenn eine Eigenschaft genauso heißt wie der ihr zugewiesene Wert, kann der Zuweisungsteil : value einfach weggelassen werden.
// Aus irgendeinem Grund existiert diese Variable schon:const catName = 'Pedro';// Jetzt wird ein Objekt erstellt, das diese Variable verwendet:const myCat = { catName: catName,};// doppelt gemoppelt, wir streichen den Zuweisungsteil// (den JavaScript unter der Haube wieder ergänzt):const myCat = { catName,}2. Method shorthands
Section titled “2. Method shorthands”Wenn eine Methode deklariert wird, muss ein Funktionsausdruck geschrieben werden. Bei der Kurzfassung kann der : function Teil weggelassen werden.
// Funktionsausdruckconst myCat = { purrMyName: function () { console.log('Mrrrrrow Pedro!'); }}// Kurzform ohne : functionconst myCat = { purrMyName() { console.log('Mrrrrrow Pedro!'); }};3. Computed object property names
Section titled “3. Computed object property names”Worum geht’s hier? Ein Ausdruck (der erst evaluiert werden muss), wird als Eigenschaft verwendet.
Erklärung hier
(Braucht man lt. Axel nur, wenn man … keine eigene Klasse definieren will oder so … also im Moment noch völlig uninteressant.)
const obj = {};const property = 'name';obj[property] = 'Pedro';// Computed object property names lets you create objects with// variables as property keys. To do so, wrap the property with// square brackets (dynamic variables).const cat = { [property]: 'Pedro',};console.log(cat.name); // Pedro// changing the property while creating it:const cat = { [property]: 'Pedro', ['full' + property]: 'Pedro R.',};console.log(cat.fullname); // Pedro R.