可以使用以下语法引用 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;
Run Code Online (Sandbox Code Playgroud)
是否可以以同样的方式获取 Person['addresses'] 的数组项类型?
免责声明:我知道在这个玩具示例中可以很容易地推断出这一点。我还了解到,可以通过创建 Address 接口来避免整个问题,但有时如果以这种方式引用某些类型,那么总体上会更简洁,并且更容易理解。
以下是有效的 TypeScript,尽管看起来有点奇怪:
let address: Person['addresses'][0] = {
city: 'Budapest',
street: 'Kossuth',
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3018 次 |
| 最近记录: |