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

144
Vistas
Cómo escribir constructores de JavaScript sin tipeo fuerte

En lenguajes fuertemente tipados, como C# o Java, puedo distinguir las firmas de los constructores por tipos de argumentos.

 class Cars { Cars(string x, string y) {}; Cars(string x, int y) {}; }

Pero sin tipeo fuerte en JavaScript, solo puedo hacer esto, lo que obviamente no funcionará:

 class Cars { Cars(x, y) {}; Cars(x, y) {}; }

¿Estoy limitado solo a la cantidad de argumentos de constructor para distinguirlos? ¿Hay alguna forma de crear constructores JS que tengan la misma cantidad de argumentos, pero de diferentes "tipos"?

¿Cómo hago constructores que saben que debería estar buscando una string y en el primer constructor, pero int y en el segundo?

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

0

La única forma de hacer esto con JavaScript en sí sería usar controles typeof dentro del cuerpo del constructor.

 class Cars { constructor(x, y) { if (typeof x === 'string' && typeof y === 'string') { // implementation } else if (typeof x === 'string' && typeof y === 'number') { // implementation } } }

Si usara TypeScript, podría hacer que las firmas sean más explícitas y entendidas por buenos IDE (para autocompletar y demás), pero aún tendría que escribir las pruebas para diferenciar entre diferentes parámetros dentro del propio constructor para el código emitido . No hay mucho de una mejora.

En JS y TS, solo hay un constructor para una clase: no puede tener varios según los tipos de argumentos, solo puede modificar el constructor para que se adapte a sus propósitos.

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