Funktion i objekt i JavaScript
Med hjälp av symboler kan vi lägga till funktioner i objekt och dessa funktioner kommer inte att delta i uppräkning. Låt oss prova. Låt oss säga att vi har ett objekt:
let obj = {a: 1, b: 2, c: 3};
Låt oss skapa en symbol:
let sym = Symbol();
Låt oss skriva en funktion till objektet med en nyckel i form av vår symbol:
obj[sym] = function() {
console.log('!!!');
};
Vid uppräkning av objektet kommer vår funktion inte att räknas upp:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Låt oss hämta vår funktion genom att skicka vår symbol (samma variabel) som nyckel:
let func = obj[sym];
func();
Koden kan förkortas:
obj[sym]();
Lägg till en funktion i objektet som skriver ut den aktuella tiden. Anropa denna funktion.