En el siguiente fragmento de código, ¿por qué aparece el error interno que no es una función?
var inner = 10; function inner() { console.log("Hey type", typeof inner); } inner()Debido a la forma en que funciona el levantamiento en javascript, la declaración de la función inner se declara completamente (y se puede llamar) antes de que se asigne el valor numérico a la variable inner . Entonces, en realidad está anulando la función interna con un número en la línea 1.
El uso de una expresión de función en su lugar generará la function de resultado. Supongo que eso es lo que esperabas.
var inner = 10; var inner = function() { console.log("Hey type", typeof inner); } inner()