我已经开始了一个带有打字稿的新 Next.js 项目npx create-next-app --example with-typescript with-typescript-app(https://github.com/zeit/next.js/tree/master/examples/with-typescript)。
当我尝试创建这样的类时:
export class Programm {
id: string;
name: string;
thumbnailUrl: string;
}
Run Code Online (Sandbox Code Playgroud)
我收到语法错误:
Property 'id' has no initializer and is not definitely assigned in the constructor.ts(2564)
当我添加这样的构造函数时:
constructor(id: string, name: string, thumbnailUrl: string) {
this.id = id;
this.name = name;
this.thumbnailUrl = thumbnailUrl;
}
Run Code Online (Sandbox Code Playgroud)
有用。为什么会这样,我如何创建一个对象,以便在初始化类时属性为空?
相同的代码在没有角度的构造函数的情况下工作
您可以使用?修饰符将属性定义为可选:
export class Programm {
id?: string;
name?: string;
thumbnailUrl?: string;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果您初始化“Programm”类型的新实例,则属性将具有undefined值。
| 归档时间: |
|
| 查看次数: |
5534 次 |
| 最近记录: |