Cómo comprobar el tipo de función en JavaScript
En las tareas a continuación, necesitarás determinar si la función está definida como Function Declaration o Function Expression.
En casos simples, no es difícil hacerlo visualmente. Pero, ¿cómo comprobar que lo has hecho correctamente? Utiliza la diferencia entre Function Declaration y Function Expression: las primeras pueden ser invocadas antes de su definición, y las segundas no.
Supongamos que tenemos una función como esta:
let test = function() {
console.log('!');
}
Accedamos a esta función antes de su definición:
test(); // mostrará un error en la consola, por lo tanto es Function Expression
let test = function() {
console.log('!');
}
He aquí otro ejemplo:
func(); // mostrará '!', por lo tanto es Function Declaration
function func() {
console.log('!');
}
Pongamos un signo más delante de nuestra función:
func(); // mostrará un error en la consola, por lo tanto es Function Expression
+function func() {
console.log('!');
}
Dado que la función anterior es una Function Expression y no está asignada a ninguna variable, no hay forma de invocarla, ya que por el nombre func no será accesible.
Determina si la función presentada es Function Declaration o Function Expression:
let test = function func() {
console.log('!');
}
Determina si la función presentada es Function Declaration o Function Expression:
console.log(
function func() {
console.log('!');
}
);
Determina si la función presentada es Function Declaration o Function Expression:
+function func() {
console.log('!');
}
Determina si la función presentada es Function Declaration o Function Expression:
function func() {
console.log('!');
}