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

346
Visualizações
Texto mecanografiado: ¿puede usar las propiedades del constructor dentro de las propiedades privadas de una clase?

¿Es una mala práctica usar las propiedades de un constructor de una clase dentro de una variable? Intenté esto y me sorprendió const name = new Name(time, course); funcionó, aunque supongo que tiene sentido ya que una instancia de Eng necesita que se creen esas propiedades del constructor, entonces estarían disponibles para usar en otro lugar.

 import { Name } from './Name' class Eng { private _name = new Name(time, course); private constructor(time: String, course: String) {} method1(){ let results = name.convertTrials(); return results; } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su ejemplo de código en realidad tiene errores de tipo:

 class Eng { private _name = new Name(time, course); // Cannot find name 'time'.(2304) // Cannot find name 'course'.(2304) private constructor(time: string, course: string) {} }

el time y el course no están en el alcance en lo que respecta al texto mecanografiado. Si desea utilizar parámetros de constructor, deben estar en el cuerpo del constructor.


Lo que puede confundirlo es que, cuando se compila, el código funciona bien. Esto se debe a que las propiedades de clase no estáticas se mueven al constructor por usted, ya que es donde deberían estar en JS simple.

Entonces su clase compilada se ve así:

 // js class Eng { constructor(time, course) { this._name = new Name(time, course); } }

Que debería funcionar sin problema.

Pero es un problema para Typescript, que cree que los argumentos del constructor no están dentro del alcance fuera del constructor.


Si no necesitas los argumentos:

 class Foo { constructor() {} } class UseFoo { private foo = new Foo() private constructor() {} }

Entonces no hay nada malo con su enfoque.

Ver Parque Infantil

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