ts如何声明对内置对象的扩展方法

老项目迁移.有些库对Math进行了扩展,添加了add,sub等方法.
用的地方太多,ts-ignore不够用啊

进行了的尝试

  1. 添加types/index.d.ts,进行如下声明
export type MathExt = {
  add(number1: number, number2: number): number;
  // ...
};

export declare var Math: Math & MathExt;
阅读 5.3k
2 个回答

找到文档已解决
根目录添加types/index.d.ts

declare global {
  interface Math {
    add(number1: number, number2: number): number;
    // ...
  }
}

照着ts官方的定义写就是了(node_modules/typescript/lib/lib.es5.d.ts)

interface Math {
    add(number1: number, number2: number): number;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题