Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

281
Vistas
lanzar un nuevo TypeError o lanzar TypeError

En Typescript, ¿hay alguna diferencia en usar new o no al lanzar (TypeError)?

 throw TypeError("some error here")

y

 throw new TypeError("some error here")

?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esta es más una pregunta de JavaScript que una pregunta de TypeScript. No, no hay diferencia en el resultado técnico, ambos crean nuevos objetos TypeError (detalles en la especificación ). Cuando se llama normalmente (no a través de new ), tanto Error como los diversos constructores de errores "nativos" ( TypeError , ReferenceError , etc.) realizarán una new llamada (una llamada de construcción ) en lugar de una llamada normal.

 const e1 = new TypeError("Error message here"); console.log(e1 instanceof TypeError); // true console.log(e1.message); // Error message here const e2 = TypeError("Error message here"); console.log(e2 instanceof TypeError); // true console.log(e2.message); // Error message here

Aquí está el mismo código en el área de juegos de TypeScript , que muestra que TypeScript ve tanto e1 como e2 como del tipo TypeError . La razón de esto es que la definición principal de TypeScript para TypeError (en lib.es5.d.ts ) se ve así:

 interface TypeError extends Error { } interface TypeErrorConstructor extends ErrorConstructor { new(message?: string): TypeError; (message?: string): TypeError; readonly prototype: TypeError; } declare var TypeError: TypeErrorConstructor;

Como puede ver, tiene new(message?: string): TypeError; (llamada al constructor que devuelve TypeError ) y (message?: string): TypeError; (llamada normal que devuelve TypeError ).


Subjetivamente, el uso de new es más claro para los lectores del código, destacando que se está creando un nuevo objeto.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda