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

213
Vistas
Inicialización de variables de clase de componentes

Estoy comenzando en angular2, y me pregunto acerca de este código.

 export class HeroesComponent implements OnInit { // Version 1 myHero: Hero = new Hero('Superman', 'Clark Kent'); // Version 2, 3 // myHero: Hero; constructor() { // Version 2 // this.myHero = new Hero('Superman', 'Clark Kent'); } ngOnInit() { // Version 3 // this.myHero = new Hero('Superman', 'Clark Kent'); } }

En este momento tengo myHero inicializado en la parte superior, pero me pregunto, ¿qué va en la parte superior, qué debería estar dentro del constructor y qué va dentro de ngOnInit?

Porque, hasta donde yo sé, si está en la parte superior, se ejecuta de inmediato, lo mismo con el constructor y ngOnInit.

Entonces, ¿cuál es la diferencia y qué es correcto?

Gracias

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Asignar los valores en la declaración y en el constructor es exactamente lo mismo, de hecho, la versión compilada de esto:

 class HeroesComponent implements OnInit { myHero: Hero = new Hero('Superman', 'Clark Kent'); }

Es:

 var HeroesComponent = (function () { function HeroesComponent() { this.myHero = new Hero('Superman', 'Clark Kent'); } return HeroesComponent; }());

En cuanto a eso frente ngOnInit , depende de si el constructor de Hero depende o no de algo que podría no estar listo antes de que se ngOnInit .

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