You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在TypeScript JSDoc中扩展内置类型(无需创建d.ts文件)

解决方案

要在JavaScript文件中通过JSDoc实现全局扩展Object.prototype的方法(无需额外.d.ts文件),可按以下方式操作:

  1. 用JSDoc声明类型扩展
    在文件开头添加JSDoc注释,明确扩展内置的Object类型,定义自定义方法的类型:

    /**
     * @global
     * @typedef {Object} Object
     * @property {function(): void} myFunc - 可在所有对象上调用的自定义方法
     */
    
  2. 实现并挂载方法
    编写方法的具体逻辑,挂载到Object.prototype上:

    Object.prototype.myFunc = function() {
      // 替换为你的业务逻辑
      console.log("myFunc 已调用,当前对象:", this);
    };
    
  3. 验证类型识别
    此时在支持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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:52:34