Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

354
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda