Tengo una clase
export class Example { id: number = 0; a: string = ''; b: string = ''; constructor(data: any) { Object.keys(data).filter(key => key in data).forEach((key: string) => this[key] = data[key]); return this; } } Quiero poder enviar un objeto en el constructor y, en función de ese objeto, asignará los valores en los que la clave coincide con la propiedad de la clase. Esto se debe a que podría enviar un objeto que tiene propiedades clave adicionales, pero no quiero poner en mi clase los valores que no están definidos en mi clase. Es por eso que no uso Object.assign(this, data); porque agregará propiedades adicionales a mi clase si el objeto de datos las tiene.
El problema con el código en el constructor anterior es que no me permite usar this[key] , el error es que Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Example' . Puede alguien ayudarme con esto?