本文只是简单从语法层面描述 [] 的用法。
索引签名
作用:告诉TS实际属性比计划的更多一些。
注意:键的类型必须可以赋值给 number 或 string 。
let a: {
b: number;
c?: string;
// 注意当key是string的时候,那么确定属性和可选属性的类型必须是它的属性的子集。
// eg:[key: string]: string | number;
[key: number]: boolean;
}
a = {
b: 1;
c: 'hey';
20: false;
}
获取接口类型的联合类型
interface Person{
name: string;
age: number;
}
// keyof Person => "name" | "age"
type student = Person[keyof Person];
let stu1: student = 'tom';
遍历接口
interface Person{
name: string;
age: number;
}
// in keyof Person => 遍历 name,string
// per2 = {
// name: string;
// age: number;
//}
type per2 = {
[P in keyof Person]: Person[P];
};
let a: per2 = {
name: "tom",
age: 12
};
数组
type per2 = {
[P in keyof Person]: Person[P];
}[];
// per2 => Person[];
let c: per2 = [
{
name: "tom",
age: 12,
},
];
键入类型
键入类型可以理解为选择类型。
type per2 = {
[P in keyof Person]: Person[P];
}[keyof Person];
// per2 => "string" | "name"
let c: per2 = "tom";
到此这篇关于TypeScript 中括号用法小结的文章就介绍到这了,更多相关TypeScript 括号内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!