Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
¿Cómo nos permite la palabra clave privada declarar e inicializar una instancia de clase?

Estoy leyendo la documentación de Nest.js y hay una línea que no entiendo bien.

Personalizamos nuestro CatsController usando su función de constructor, de modo que cuando el contenedor IoC crea la instancia de catsController, se crea con una instancia de catsService como parámetro de construcción. Al menos esta es mi mejor suposición basada en todo el documento. Pero, ¿qué significa exactamente lo siguiente:

Observe el uso de la sintaxis private . Esta forma abreviada nos permite declarar e inicializar el miembro catsService inmediatamente en la misma ubicación.

¿Por qué la palabra clave privada logra eso? ¿Cómo se vería si no usáramos la sintaxis abreviada?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Nest.js realiza la inicialización de CatsService en ambos casos, esa es una de las premisas clave del IoC en el que se basa. El uso de la palabra clave private en la declaración del constructor es completamente opcional y es útil para convertir el parámetro del constructor en un atributo de CatsController durante su inicialización. Sin él, debe escribir:

 @Controller('cats') export class CatsController { private catsService: CatsService; constructor(service: CatsService) { this.catsService = service; } /* TODO */ }

Observe cómo aparece la palabra clave private para declarar catsService como un atributo privado de la clase, y si la usáramos dentro de la declaración del parámetro del constructor, tendría el mismo significado, lo que daría como resultado un código más pequeño y simple. Por último, esta es una característica sintáctica de Typescript y no tiene relación con NestJS o DI.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!