🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # 函数表达式/函数别名/接口 --配合泛型写法 >[danger] ##### 函数表达式的定义方式 ~~~ let getArray: <T>(arg: T, times: number) => T[] // 泛型对应参数类型为any getArray = (arg: any, times: number) => { return new Array(times).fill(arg) } getArray(123, 3).map((item) => item.length) // 报错帮你自动检测了 ~~~ >[danger] ##### 函数别名 ~~~js type GetArray = <T>(arg: T, times: number) => T[] let getArray: GetArray = (arg: any, times: number) => { return new Array(times).fill(arg) } ~~~ >[danger] ##### 接口类型 ~~~ interface GetArray<T> { (arg: T, times: number): T[], array: T[] } //泛型和 interface interface KeyPair<T, U> { key: T; value: U; } let kp1: KeyPair<number, string> = { key: 1, value: "str"} let kp2: KeyPair<string, number> = { key: "str", value: 123} interface ReturnItemFn<T> { (para: T): T } const returnItem: ReturnItemFn<number> = para => para //const returnItem: ReturnItemFn<number> = (para: any) => para ~~~