Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.parseInt不编译-TypeScript_Javascript_Typescript_Transpiler - Fatal编程技术网

Javascript window.parseInt不编译-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给出了传输错误

在下面的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
给出了传输错误?

不包含定义,所以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,您的回答与您的评论相矛盾