VARIABLES Y TIPOS

is not a function: intentar llamar algo que no es función

Se están utilizando paréntesis de llamada sobre un valor que no es una función.

Si te aparece: ... is not a function

Solución rápida: Comprueba typeof sobre la expresión que pretendes llamar y revisa el método disponible para ese tipo.

Qué está pasando

Puede ser un método inexistente, un nombre mal escrito o un valor reemplazado durante la ejecución.

Cómo corregirlo

✕ Código problemático
const nombres = ['Ada', 'Grace'];
console.log(nombres.uppercase());
✓ Código corregido
const nombres = ['Ada', 'Grace'];
console.log(nombres.map(nombre => nombre.toUpperCase()));

Cómo comprobarlo

El resultado es un array con nombres en mayúsculas.

Ten en cuenta

Este caso concreto merece guía porque el mensaje nombra el problema de llamada, no solamente el tipo.