覆盖TypeScript中的全局JavaScript函数

时间:2018-06-25 07:28:31

标签: typescript

在JavaScript中,我可以覆盖一个函数:

function testf() {
    console.log('old function')
}
testf = function() {
    console.log("new function");
}

如何在TypeScript中执行此操作?我正在编写WebP polyfill,并且想覆盖全局createImageBitmap函数,但是 tsc 抱怨:

由于它不是变量,因此无法分配给“ createImageBitmap”。

1 个答案:

答案 0 :(得分:1)

执行someName = whatever要求在当前范围内将someName定义为变量。

但是,您可以分配给window(与分配其他对象的变量相同),这将产生相同的效果:

window.createImageBitmap = customImageBitmap

只需确保customImageBitmapwindow.createImageBitmap具有相同的签名(参数类型和返回类型),即可通过类型检查器。