Lingua-e
JavaScript

¿Qué significa X is not a function?

← Errores

Este TypeError se lanza en JavaScript cuando intentas llamar a un valor como si fuera una función, pero ese valor no es una función. La 'X' en el mensaje es el nombre o expresión que fue llamado. Generalmente significa que una propiedad que debería ser una función es undefined, null, o de un tipo diferente.

Por qué ocurre

  • Llamar a un método que no existe en un objeto (la propiedad es undefined).
  • Una variable fue reasignada de una función a un valor que no es función antes de la llamada.
  • Olvidar importar un módulo y llamar a una propiedad sobre el resultado undefined.
  • Sobreescribir accidentalmente un método integrado como Array.prototype.map con un valor que no es función.

Ejemplos

JavaScript

Código que causa el error

const config = {
  port: 3000,
};

config.start();

Error en la terminal

TypeError: config.start is not a function

Cómo solucionarlo

Registra el valor antes de llamarlo para confirmar que realmente es una función: console.log(typeof miValor). Verifica errores tipográficos en los nombres de los métodos. Si el método proviene de una fuente externa (respuesta de API, configuración), valida su tipo antes de llamarlo.

Código corregido

const config = {
  port: 3000,
  start() {
    console.log(`Server starting on port ${this.port}`);
  },
};

config.start();  // Server starting on port 3000

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis