Javascript window.parseInt不编译-TypeScript
在下面的typescript语法中Javascript window.parseInt不编译-TypeScript,javascript,typescript,transpiler,Javascript,Typescript,Transpiler,在下面的typescript语法中 var strToNum: number = window.parseInt("5"); 给出错误: tstut.ts(15,31): error TS2551: Property 'parseInt' does not exist on type 'Window'. Did you mean 'parent'? 多姆 > window.parseInt ƒ parseInt() { [native code] } 为什么tsc给出了传输错误
var strToNum: number = window.parseInt("5");
给出错误:
tstut.ts(15,31): error TS2551: Property 'parseInt' does not exist on type 'Window'. Did you mean 'parent'?
多姆
> window.parseInt
ƒ parseInt() { [native code] }
为什么
tsc
给出了传输错误?不包含定义,所以TS无法在那里找到它。这是一个标准的内置函数,应该通过简单的调用来调用:
var strToNum: number = parseInt("5");
但是,
window.parseInt(“5”)
在浏览器控制台上给出了5。在window上可以使用parseInt,但不应该这样使用,因为代码在node.js中不起作用。通过使用window.parseInt,代码的可移植性降低了,但没有任何好处,Typescript通过将其标记为错误来防止您犯下这一错误。这是因为在HTML中,全局范围是窗口对象。所有全局变量都属于窗口对象,但TS在传输时不知道它。@WalleCyril在.js
文件中引入的任何名称(比如parseInt
)都应该在一个范围内parseInt
看起来在窗口的范围内。JavaScript执行模型是字典中的字典。您在.js
文件中引入的任何名称都将成为字典的属性。borkovski,您的回答与您的评论相矛盾