如何用JSDoc为恒等函数添加类型提示以实现自动补全?
原生JavaScript恒等函数JSDoc配置实现类型推断与自动补全
要让VS Code中原生JavaScript的恒等函数returnMe实现返回值继承参数类型、支持属性自动补全,核心是通过JSDoc的泛型声明手动为函数绑定类型关联,具体实现如下:
完整代码示例
/** * 恒等函数:返回传入的参数 * @template T * @param {T} arg - 任意类型的输入参数 * @returns {T} 返回与输入参数类型完全一致的值 */ function returnMe(arg) { return arg; } // 调用示例1:传入对象变量 const user = { id: 123, name: "Alice", age: 28 }; const userCopy = returnMe(user); // 输入userCopy. 时,VS Code会自动提示id、name、age属性 // 调用示例2:直接传入字面量 const config = returnMe({ host: "localhost", port: 3000 }); // 输入config. 时,会自动提示host、port属性
关键原理说明
@template T:声明一个通用类型变量T,用于捕获传入参数的具体类型@param {T} arg:指定参数arg的类型为T,让VS Code内置的TypeScript语言服务捕获参数的实际类型@returns {T}:指定返回值的类型与参数的T完全一致,实现类型的“恒等传递”
这种写法不需要启用完整的TypeScript编译,仅依靠VS Code原生的JS智能提示能力就能实现类型推断和属性补全。
内容的提问来源于stack exchange,提问作者Islam Y-
相关产品推荐
相关产品推荐

