在TypeScript中,可以使用以下语法来引用接口属性的类型:Person['gender']
,因此以下代码是有效的TypeScript:
interface Person {
gender: 'male' | 'female';
addresses: {
city: string,
street: string
}[];
}
let person: Person = {
gender: 'male',
addresses: [],
};
let gender: Person['gender'] = person.gender;
有没有办法以同样的方式获取Person ['addresses']的数组项类型?
免责声明:我知道在这个玩具示例中很容易推断出来。我也知道,如果以这种方式引用某些类型,有时会更简洁清晰,而且更容易理解,但是整个问题可以通过创建Address接口来避免。