Functie in object in JavaScript
Met behulp van symbolen kunnen we functies toevoegen aan objecten en deze functies zullen niet worden meegenomen bij het doorlopen. Laten we het proberen. Stel dat we een object hebben:
let obj = {a: 1, b: 2, c: 3};
Laten we een symbool creëren:
let sym = Symbol();
Laten we een functie in het object opslaan met een sleutel in de vorm van ons symbool:
obj[sym] = function() {
console.log('!!!');
};
Bij het doorlopen van het object zal onze functie niet worden meegenomen:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Laten we onze functie ophalen, door ons symbool (dezelfde variabele) als sleutel door te geven:
let func = obj[sym];
func();
We kunnen de code verkorten:
obj[sym]();
Voeg aan het object een functie toe die de huidige tijd weergeeft. Roep deze functie aan.