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

80
Visualizações
Setting field in superclass isn't propagated to subclass

In an effort to reduce boilerplate in my constructors, I have an abstract class implementation that tries to set fields on the implementing class. A simplified version is below. The problem is that in the superclass constructor, the fields appear to be set, but outside of that constructor, they are undefined.

Code:

abstract class BaseClass {
  constructor(args: any) {
    Object.keys(args).forEach((key) => (this[key] = args[key]));
    console.log("constructed", this);
  }
}

class ChildClass extends BaseClass {
  a: number;
  b: string;

  print() {
    console.log(this);
  }
}

const val = new ChildClass({ a: 1, b: "str" });
val.print();

The output of this code is:

constructed ChildClass { a: 1, b: 'str' }
ChildClass { a: undefined, b: undefined }

Is there any way to make it so that BaseClass's constructor sets values that are accessible from ChildClass?

about 4 years ago · Juan Pablo Isaza
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