如何在TypeScript中定义一个接口,并且接口中包含带默认值的可选属性?

在TypeScript中定义接口时,可以使用问号(`?`)来表示可选属性。不过,接口本身并不直接支持为可选属性指定默认值,因为接口只是一种类型的定义,并不包含实现细节。要为接口中的可选属性提供默认值,你可以在实现这个接口的类或对象中设置默认值。下面是一个示例:

```typescript
interface Person {
name: string;
age?: number;
}

class Student implements Person {
name: string;
age?: number = 18; // 提供默认值

constructor(name: string, age?: number) {
this.name = name;
if (age !== undefined) {
this.age = age;
}
}
}

const student1 = new Student("Alice");
console.log(student1.age); // 输出: 18

const student2 = new Student("Bob", 20);
console.log(student2.age); // 输出: 20
```

在这个例子中,`Person`接口定义了一个可选属性`age`,`Student`类实现了这个接口,并在构造函数中为`age`属性提供了一个默认值`18`。当创建实例时,如果没有提供`age`值,则使用默认值;如果提供了,则使用提供的值。

若文章对您有帮助,帮忙点个赞!

0
0
发布时间 2025-02-20 08:21:06
0 条回复(回复会通过微信通知作者)
点击加载更多评论
登录 后再进行评论
(微信扫码即可登录,无需注册)