Como verificar o tipo de função em JavaScript
Nos problemas abaixo, você precisará determinar se a função é definida como Function Declaration ou Function Expression.
Em casos simples, isso não é difícil de fazer visualmente. Mas como verificar se você fez isso corretamente? Use a diferença entre Function Declaration e Function Expression: as primeiras podem ser chamadas acima de sua definição, e as segundas - não.
Suponha que temos uma função como esta:
let test = function() {
console.log('!');
}
Vamos chamar esta função antes de sua definição:
test(); // exibirá um erro no console, portanto é Function Expression
let test = function() {
console.log('!');
}
Aqui está outro exemplo:
func(); // exibirá '!', portanto é Function Declaration
function func() {
console.log('!');
}
Vamos colocar um sinal de mais antes da nossa função:
func(); // exibirá um erro no console, portanto é Function Expression
+function func() {
console.log('!');
}
Como a função acima é uma Function Expression e não está atribuída a nenhuma variável, ela não pode ser chamada de forma alguma, pois pelo nome func ela estará inacessível.
Determine se a função apresentada é Function Declaration ou Function Expression:
let test = function func() {
console.log('!');
}
Determine se a função apresentada é Function Declaration ou Function Expression:
console.log(
function func() {
console.log('!');
}
);
Determine se a função apresentada é Function Declaration ou Function Expression:
+function func() {
console.log('!');
}
Determine se a função apresentada é Function Declaration ou Function Expression:
function func() {
console.log('!');
}