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

156
Vistas
¿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 Respuestas
Responde la pregunta

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 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