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

218
Visualizações
instantiated object can not find method defined in a function in typescript

I define a class Chalk in TypeScript, and some methods defined in the function, like this:

class Chalk{

   public init(): void {

     for (let color of ['black', 'blue', 'cyan', 'gray', 'green', 'magenta', 'red', 'white', 'yellow']) {
       
          this[color] = () => {consol.log(color)}
         }
     }
};

chalk = new Chalk();

but I can't access them from the instantiated object of Chalk when I try to execute:

chalk.red();

The editor tells me that chalk has no 'red' attribute, so what should I do to gain access?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

A better approach is to have Colorful interface and make Chalk implement it:

interface Colorful {
  colors: { [key: string]: () => void }
}

class Chalk implements Colorful {
  colors: { [key: string]: () => void }={};
  constructor() {
    for (let color of ['black', 'blue', 'cyan', 'gray', 'green', 'magenta', 'red', 'white', 'yellow']) {
      this.colors[color] = () => { console.log(color) }
    }
  }
};

let chalk = new Chalk();
chalk.colors.green();

Here is a Link to playground

about 4 years ago · Santiago Trujillo 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