在TypeScript中,增强类型通常指的是通过接口(Interface)或类型别名(Type Alias)来定义和约束数据的结构。接口是一种定义对象结构的方式,它可以描述对象的形状以及对象的属性和方法。
接口(Interface):
类型别名(Type Alias):
在TypeScript中,接口本身不支持直接设置属性的默认值。但是,可以通过以下几种方式间接实现默认值的设置:
interface TsInterface {
name: string;
age?: number;
}
class TsClass implements TsInterface {
name: string;
age: number;
constructor(name: string, age: number = 18) {
this.name = name;
this.age = age;
}
}
const instance = new TsClass('Alice'); // age 默认为 18
interface TsInterface {
name: string;
age?: number;
}
function createTsInterface(name: string, age?: number): TsInterface {
return {
name,
age: age ?? 18 // 使用空值合并运算符提供默认值
};
}
const obj = createTsInterface('Bob'); // age 默认为 18
interface TsInterface {
name: string;
age?: number;
}
function createTsInterface(name: string): TsInterface;
function createTsInterface(name: string, age: number): TsInterface;
function createTsInterface(name: string, age?: number): TsInterface {
return {
name,
age: age ?? 18
};
}
const obj1 = createTsInterface('Charlie'); // age 默认为 18
const obj2 = createTsInterface('Dave', 25); // age 为 25
问题:如何在接口中直接设置属性的默认值? 解决方法:
通过上述方法,可以在TypeScript中有效地管理和设置接口属性的默认值,从而提高代码的可维护性和灵活性。
领取专属 10元无门槛券
手把手带您无忧上云