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

245
Vistas
¿Hay alguna forma en mecanografiado de pasar un parámetro opcional a un constructor solo si existe?

Tengo un objeto que tiene un constructor con un parámetro opcional como este:

 class example{ constructor(a: string,b: string,c: string,d?:string){ //... } }

Esta clase se instanciará dentro de otro método. Como esto:

 function createExample(a: string,b: string,c: string,d?:string){ return new example(a,b,c,d) }

Pero solo quiero pasar el parámetro "d" si se recibió la función createExample(). ¿Hay alguna manera en javascript/mecanografiado para hacer esto? Algo como:

Quiero pasar el parámetro d solo si existe, y espero no tener que hacer un if que verifique esto, porque si tengo más parámetros opcionales se puede complicar. ¿Hay alguna manera en javascript/mecanografiado para hacer esto? Algo como:

 function createExample(a: string,b: string,c: string,d?:string){ return new example(a,b,c,d?) }

¿O debería dejar la instancia con el parámetro "d" normal y, en caso de que no esté definido, debería pasarse como indefinido?

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

0

Si define el tipo para D como potencialmente indefinido, simplemente puede pasarlo

 class Example { constructor(a: string, b: string, c: string, d?: string) { // ... } } const A = ""; const B = ""; const C = ""; let D: string | undefined; if (someCondition) { D = "d"; } const ex = new Example(A, B, C, D);
about 4 years ago · Juan Pablo Isaza Denunciar

0

¿O debería dejar la instancia con el parámetro "d" normal y, en caso de que no esté definido, debería pasarse como indefinido?

Sí, exactamente esto. JavaScript trata los argumentos faltantes y los undefined que se pasan como un argumento del mismo 1 : ambos terminan con un parámetro undefined o predeterminado. Así que es tan simple como

 function createExample(a: string, b: string, c: string, d?: string) { return new Example(a, b, c, d); }

Si realmente te importa, puedes usar la sintaxis extendida con una matriz:

 function createExample(...args: [a: string, b: string, c: string, d?: string]) { return new Example(...args); }

1: excepto para la sintaxis de parámetros arguments.length y rest

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