Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

98
Visualizações
Sugerir cómo escribir esto más compacto

Muchos nombres de propiedades iguales en este código. ¿Es posible hacerlo mucho más compacto?

 constructor(product) { this.session = SessionBuilder.create(); this.id = product.id; this.name = product.name; this.root = product.root; this.pics = product.pics; this.sizes = product.sizes; this.colors = product.colors; this.rating = product.rating; this.feedbacks = product.feedbacks; }

Encontré solo una solución con getters.

 constructor(product) { this.session = SessionBuilder.create(); this.product = product; } get id() { return this.product.id; } get name() { return this.product.name; } ...

Pero realmente no me gusta. Se ve mejor (para mí), pero el código sería mucho más... ¿Alguien puede sugerir una mejor solución?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Podría utilizar un enfoque basado en tablas para copiar de forma segura solo un conjunto conocido de propiedades sin tener que nombrar las propiedades más de una vez:

 const propNames = ["id", "name", "root", "pics", "sizes", "colors", "rating", "feedbacks"]; class Whatever { constructor(product) { this.session = SessionBuilder.create(); for (let prop of propNames) { this[prop] = product[prop]; } } ... }

Si solo desea copiar todas las propiedades de la variable del product , puede usar Object.assign() :

 class Whatever { constructor(product) { this.session = SessionBuilder.create(); Object.assign(this, product); } ... }

Sin embargo, esto es menos seguro ya que las personas podrían poner cualquier cosa en el objeto del product , incluidas cosas que incluso podrían anular sus propios métodos o propiedades además de lo que pretendía.


Puede ver soluciones utilizando la asignación de desestructuración de objetos aquí en esta pregunta: ¿Es posible desestructurar en un objeto existente? , pero no vi ninguna solución allí que sea más simple que estas.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda