我的错误记录代码中有以下 javascript,它定义了console.log
for 某些浏览器不存在 https://stackoverflow.com/questions/3326650/console-is-undefined-error-for-internet-explorer4(IE 没有/没有定义它,除非调试工具打开)。
if (typeof console == "undefined")
{
window.console = { log: function (msg) { } };
}
尝试将 js 升级到 Typescript 时的问题是window.console
被定义为Console
接口类型,并且由于我没有指定它(显然)无法编译的所有内容。
interface Console {
info(message?: any, ...optionalParams: any[]): void;
profile(reportName?: string): void;
assert(test?: boolean, message?: string, ...optionalParams: any[]): void;
msIsIndependentlyComposed(element: Element): boolean;
clear(): void;
dir(value?: any, ...optionalParams: any[]): void;
warn(message?: any, ...optionalParams: any[]): void;
error(message?: any, ...optionalParams: any[]): void;
log(message?: any, ...optionalParams: any[]): void;
profileEnd(): void;
}
如何告诉它忽略这个接口并让我重新定义window.console
.
我尽最大努力的猜测不起作用
window.console = { log: function (msg) { } } : any;
一个更短的解决方案是只使用类型断言:
window.console = <any>{ log: function (msg) { } };
甚至使用 lambda:
window.console = <any>{ log: () => { } };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)