📅  最后修改于: 2023-12-03 15:39:21.868000             🧑  作者: Mango
这个 TypeScript 错误信息通常是指某个类中的成员变量(属性)在定义时没有被分配初值,同时在构造函数中也没有被赋值。
例如,下面这个类定义:
class Person {
name: string;
age: number;
}
以上代码中,Person 类中的 name 和 age 属性都没有被分配初始值,也没有在构造函数中被明确地赋值。这时, TypeScript 会报错: "属性“数据”没有初始值设定项,也没有在构造函数中明确分配"。
为了修正这个错误,我们可以通过以下两种方式解决:
可以在成员变量定义时为其赋初值。例如:
class Person {
name: string = '';
age: number = 0;
}
以上代码中,我们给 name 和 age 属性都分别赋了一个默认值。当我们创建这个类的实例时,如果没有手动赋值,那么这些属性默认值将会被使用。
另一种解决方案是在构造函数中为属性赋值:
class Person {
name: string;
age: number;
constructor() {
this.name = '';
this.age = 0;
}
}
以上代码中,我们定义了空的构造函数,但在函数体中明确地给 name 和 age 属性赋了初始值。
无论使用上述的哪种方法,只要为属性分配了初值就可以避免 TypeScript 的提示错误。在应用 TypeScript 开发过程中,我们需要注意定义成员变量需要明确地分配初始值。