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

157
Visualizações
¿Cómo distribuyo un objeto (propiedades de instancia de clase) al superconstructor de los padres?

¿Cómo puedo difundir las propiedades de una clase al superconstructor de los padres?

ActionLog es una clase base, se instancia en un método dentro de ActionRequestAccess

ActionRequestAccess.ts

 export class ActionRequestAccess extends ActionLog { constructor(public actionLog: ActionLog, public customerId: string) { super( actionLog.id, // Want to get rid of these assignments <<< and switch to something like: ...actionLog actionLog.type, actionLog.date, actionLog.address, actionLog.location ); } static override fromMap(map: any) { if (!map) { return null; } const baseMap = super.fromMap(map); if (!baseMap) { return null; } return new ActionRequestAccess(baseMap, map['customerId'] ?? null); } }

ActionLog.ts

 import { ActionType } from '../../enums'; export class ActionLog { constructor( public id: string, public type: ActionType, public date: Date, public address: string, public location: string ) {} static fromMap(map: any) { if (!map) { return null; } return new ActionLog( map['id'] ?? null, map['type'] ?? null, map['date'] ?? null, map['address'] ?? null, map['location'] ?? null ); } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar Object.values en el objeto dentro ActionRequestAccess .

 constructor(public actionLog: ActionLog, public customerId: string) { super(...Object.values(actionLog)); }

Pero esto significa que el orden en que se pasan los valores de su objeto a la función es importante, por lo que este patrón es un poco inseguro. esto funcionará

 const myObject = new ActionRequestAccess({ id: 1, type: 'myType', date: 'myDate', adress: 'myAdress', location: 'myLocation', });

pero esto cambiará la posición de la identificación y el tipo y no funcionará.

 const myObject = new ActionRequestAccess({ type: 'myType', id: 1, date: 'myDate', adress: 'myAdress', location: 'myLocation', });

Si puede cambiar el valor esperado al constructor de ActionLog para que sea un objeto en lugar de parámetros, probablemente será más fácil y más seguro.

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