你需要知道的TypeScript高级类型总结
前言
TypeScript 是静态类型语言,相比于 JavaScript,它更加安全,且能提供更好的自动化工具支持。在使用 TypeScript 进行代码编写时,我们可能会涉及到一些比较高级的类型语法。本文将会总结一些 TypeScirpt 高级类型的用法,帮助初学者更好地理解和应用。
Partial
Partial 可以使一个接口中所有的属性变成可选属性,一个示例:
interface Person {
name: string;
age: number;
address: string;
}
type PartialPerson = Partial<Person>;
let person1: PartialPerson = {}; // 此时person1中的属性均为可选属性
在这个示例中,Partial
Pick
Pick 能从一个接口中选择部分属性,一个示例:
interface Person {
name: string;
age: number;
address: string;
}
type PersonNameAndAge = Pick<Person, 'name' | 'age'>;
let person1: PersonNameAndAge = {
name: '张三',
age: 18
}
在这个示例中,Pick 取出了 Person 接口中的 name 和 age 属性,生成了一个新的接口 PersonNameAndAge。
ReturnType
ReturnType 能取出函数的返回值类型,一个示例:
function add(x: number, y: number): number {
return x + y;
}
type AddReturnType = ReturnType<typeof add>;
let result: AddReturnType = 3; // TypeScript 中 result 必须等于 number 类型
在这个示例中,AddReturnType 为函数 add 的返回值类型。
Exclude
Exclude 用于从一个类型中排除另一个类型中定义的属性,一个示例:
type ExcludeType = Exclude<string | number | boolean, number | boolean>;
let result: ExcludeType = 'string'; // TypeScript 中 result 必须等于 string 类型
在这个示例中,Exclude
Omit
Omit 可以将一个接口中某个属性删除,一个示例:
interface Person {
name: string;
age: number;
address: string;
}
type OmitPerson = Omit<Person, 'address'>;
let person1: OmitPerson = {
name: '张三',
age: 18
}
在这个示例中,OmitPerson 类型表示从 Person 中排除属性 address。
Conclusion
本文总结了几个常用的 TypeScript 高级类型,介绍了它们的基本使用方法,对初学者来说是一份很好的参考文献。在实际开发过程中,这些高级类型能够为代码的编写和维护提供更好的支持,可以使代码更加健壮和高效。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:你需要知道的TypeScript高级类型总结 - Python技术站