TypeScript中能否复用函数声明?无需复制粘贴复用已有声明
TypeScript 复用 fetch 函数声明的方法
当然可以不用复制粘贴,直接复用已有的fetch函数声明,下面是几种常用方法:
提取参数与返回值类型复用
利用TypeScript内置的Parameters和ReturnType工具类型,分别提取fetch的参数类型和返回值类型,再应用到新函数上:// 提取 fetch 的参数类型 type FetchParams = Parameters<typeof fetch>; // 提取 fetch 的返回值类型 type FetchReturn = ReturnType<typeof fetch>; // 复用类型定义新函数 declare function customFetch(...args: FetchParams): FetchReturn;直接复用完整函数类型
通过typeof操作符获取fetch的完整函数类型,直接赋值给新函数:// 获取 fetch 的完整函数类型 type FetchFunction = typeof fetch; // 定义与 fetch 类型完全一致的新函数 declare function anotherFetch: FetchFunction;通过接口约束复用
定义继承自fetch函数类型的接口,再用该接口约束新函数:interface FetchLikeFunction extends typeof fetch {} declare function myFetch: FetchLikeFunction;
这些方法的优势在于,当原fetch的声明发生变化时,复用的函数类型会自动同步更新,无需手动修改,同时避免了复制粘贴带来的冗余和不一致问题。
内容的提问来源于stack exchange,提问作者Entity Black
相关产品推荐
相关产品推荐

