在TypeScript JSDoc中扩展内置类型(无需创建d.ts文件)
解决方案
要在JavaScript文件中通过JSDoc实现全局扩展Object.prototype的方法(无需额外.d.ts文件),可按以下方式操作:
用JSDoc声明类型扩展
在文件开头添加JSDoc注释,明确扩展内置的Object类型,定义自定义方法的类型:/** * @global * @typedef {Object} Object * @property {function(): void} myFunc - 可在所有对象上调用的自定义方法 */实现并挂载方法
编写方法的具体逻辑,挂载到Object.prototype上:Object.prototype.myFunc = function() { // 替换为你的业务逻辑 console.log("myFunc 已调用,当前对象:", this); };验证类型识别
此时在支持JSDoc的编辑器(如VS Code)中,任意类型的值都会被识别出拥有myFunc方法,调用时不会出现类型报错:"hello world".myFunc(); 123.myFunc(); { name: "test" }.myFunc();
如果是TypeScript项目,需确保tsconfig.json中启用了JavaScript类型检查:
{ "compilerOptions": { "allowJs": true, "checkJs": true } }
内容的提问来源于stack exchange,提问作者Eugene Kuzmenko
相关产品推荐
相关产品推荐

