このAdonisJS の例では、Post クラス定義に @column セクションが含まれています。誰かがこれが何をするのか説明できますか? Post クラス内に「列」クラスの複数のインスタンスをメンバー変数として作成していると思います。各インスタンスは異なる名前とデータ型を持っています。しかし、これはどのように機能し、@ 記号は何のためにあるのでしょうか?
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
}
以下は (定義されたデータ型なしで) 同等でしょうか?
export default class Post extends BaseModel
{
constructor()
{
this.id = new column({ isPrimary: true });
this.title = new column();
this description = new column();
}
}
アップデート:
AdonisJS が TypeScript で記述されていることに気付いた後、質問に答えるthisを見つけました。