Inicio/Foro/Discusión
Discusión

this perdido: callbacks y event handlers | TypeScript detecta el problema??

@estouchedisindo·9/5/2026TypeScriptDuda

Buenos días

En este apartado https://coding-challenges.dev/learn/typescript/this-y-binding la pestaña de TS tiene por título, TypeScript detecta el problema, pero no me queda claro cómo lo hace. El error que veo es en tiempo de ejecución. ¿Podríais extender la explicación o ejemplificarlo de otro modo?

Saludos y gracias

2respuestas
Respuestas

Cuando trabajar con JavaScript y editas JavaScript, el editor no tiene manera de saber qué estás haciendo o el tipo de dato que recibe en un argumento de una función. Esto complica el desarrollo porque debes de ejecutar el código en tu navegador (o con Node por ejemplo) para poder saber qué valor recibe y esto lleva tiempo y no es seguro.

Con TypeScript te obligas a ti mismo a decir qué tipo de dato esperas y retornas, y si algo no está especificado, te marca errores en el editor, y dependiendo de qué tan estricto seas con el TSConfig.json, hasta puedes evitar la construcción de la aplicación si hay un error de tipado.

@estouchedisindoAutor12/5/2026editado

Hola Fernando @fernando_her85

Gracias por tu tiempo, muy amable, como siempre. Ahora entendí qué querías decir con ese ejemplo:

  nombre: string;

  constructor(nombre: string) {
    this.nombre = nombre;
  }

  saludar(): string {
    return `Hola, ${this.nombre}`;
  }
}

const s = new Saludador("Ana");
const fn = s.saludar; // ← extrae el método sin el contexto

console.log(s.saludar()); // "Hola, Ana" ✅
// fn();                   // ❌ Error en runtime: this es undefined```

De todos modos... ¿La última línea no debería ser: 
`console.log(fn.saludar());  
\\ Property 'saludar' does not exist on type '() => string'.` 
ejemplificando  el error detectado por el TSC en tiempo de compilación?

Saludos

Escribir un comentario

Debes iniciar sesión para publicar un comentario.