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

231
Views
¿Cuál es el propósito del símbolo "@" en las clases de Javascript?

En este ejemplo en AdonisJS, la definición de la clase Post incluye secciones @column. ¿Alguien puede explicar qué hace esto? Supongo que está creando múltiples instancias de la clase 'columna' dentro de la clase Post como variables miembro, cada instancia con un nombre y tipo de datos diferente. Pero, ¿cómo funciona esto y para qué sirve el símbolo @?

 import { column, BaseModel } from '@ioc:Adonis/Lucid/Orm' export default class Post extends BaseModel { @column({ isPrimary: true }) public id: number @column() public title: string @column() public description: string }

¿Sería equivalente lo siguiente (sin los tipos de datos definidos)?

 export default class Post extends BaseModel { constructor() { this.id = new column({ isPrimary: true }); this.title = new column(); this description = new column(); } }

ACTUALIZAR:

Después de darme cuenta de que AdonisJS está escrito en TypeScript, encontré this , que responde a la pregunta.

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

0

Estos se denominan "decoradores", una función de javascript propuesta.

https://github.com/tc39/propuesta-decoradores

La propuesta ya ha pasado por varias iteraciones. TypeScript y babel tienen sus propias implementaciones de decoradores.

Los decoradores pueden modificar clases completas o campos de clase, por ejemplo, llamando a Object.defineProperty(classPrototype, key, {...}).

Lo que hace exactamente el decorador depende de su función de implementación.

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!