• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

116
Views
¿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 3 years ago · Juan Pablo Isaza
1 answers
Answer question

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 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error