Função como Variável em JavaScript
Então, na lição anterior, descobrimos que ao acessar uma função sem parênteses, obtemos seu código-fonte.
Na verdade, é muito mais interessante. Em JavaScript, ao contrário de outras linguagens, as funções são valores de variáveis como números, strings e arrays.
Vamos ver um exemplo. Suponha que temos
uma função, por exemplo, func:
function func() {
console.log('!');
}
Na verdade, não temos uma função func.
Temos uma variável func que armazena
o código-fonte da função.
Podemos, por exemplo, sobrescrever a variável
func com outra coisa, como
uma string. Nesse caso, func
não será mais uma função, mas sim uma string.
Veja o exemplo:
function func() {
console.log('!');
}
func(); // exibirá '!'
func = 'string'; // sobrescrevendo a variável func
console.log(func); // exibirá 'string'
Crie uma função func que
retorne via return alguma string.
Exiba o resultado da execução da função func
no console.
Exiba o código-fonte da função func
no console.
Atribua à variável func o número 123,
sobrescrevendo assim a função nesta variável.
Exiba o novo valor da variável func
no console.