一、前言
一直想写一篇关于TypeScript相关的文章,对于TypeScript的基本概念,我不去做过多解释,学习完基本语法之外,我想补充一点,TypeScript是图灵完备
的,因此我们不仅仅可以使用TypeScript去定义一些接口,类型;我们还可以使用TypeScript解决计算、构建、循环等所有的编程问题;
因此TypeScript的实质就是对类型进行编程
,在使用TypeScript进行开发时,大部分时间我们都是自定义类型,但是TypeScript也有很多内置类型,我们如果对其足够熟悉,那么将可以大大提高我们的开发效率,如果懂其原理,那对我们深入理解TypeScript将会更有帮助!
温馨提示:本文的前提是掌握TypeScript基本语法;对于语法不熟悉的小伙伴可先收藏哦!
so are you ready? let*s get start it?
二、内置类型
-
Parameters
-
作用:根据传入的函数类型,推断这个函数的参数类型;
-
实现
type Parameters<T extends (...args: any[]) => any> = T extends ( ...args: infer P ) => any ? P : never; // test type Fun = (name: string, age: number) => string; const p: Parameters<Fun> = ["", 10]; // const p: [name: string, age: number]
其实原理并不难,就是利用的infer来推测出参数的类型;
-
-
ReturnType
- 作用:根据传入的函数,推断这个函数的返回值类型
- 实现:
type ReturnType<T extends (...args: any[]) => any> = T extends ( ...args: any[] ) => infer R ? R : never; // test const r: ReturnType<F