Função em objeto em JavaScript
Usando símbolos, podemos adicionar funções a objetos e essas funções não serão incluídas na iteração. Vamos tentar. Suponha que temos o seguinte objeto:
let obj = {a: 1, b: 2, c: 3};
Vamos criar um símbolo:
let sym = Symbol();
Agora, vamos registrar uma função no objeto usando nossa chave de símbolo:
obj[sym] = function() {
console.log('!!!');
};
Ao iterar sobre o objeto, nossa função não será incluída:
for (let key in obj) {
console.log(obj[key]); // 1, 2, 3
}
Vamos obter nossa função passando nosso símbolo (a mesma variável) como chave:
let func = obj[sym];
func();
O código pode ser abreviado:
obj[sym]();
Adicione ao objeto uma função que exiba a hora atual. Chame essa função.