为什么我得到错误无法在TypeScript中重新声明块范围变量'name'

Kir*_*ahi 3 javascript variables typescript

我试图在我的打字稿代码中声明名为name的新变量.我只有一行代码.

var name:string = "John";
Run Code Online (Sandbox Code Playgroud)

但是得到了错误

PS D:\TypeScript> tsc test.ts
C:/Users/Users/AppData/Roaming/npm/node_modules/typescript/lib/lib.d.ts(18568,15): error TS2451: Cannot re
declare block-scoped variable 'name'.
test.ts(1,5): error TS2451: Cannot redeclare block-scoped variable 'name'.
Run Code Online (Sandbox Code Playgroud)

这个错误背后的原因是什么?

无法重新声明块范围变量'name'

无法重新声明块范围变量'name'

sar*_*l n 8

为了解决这个问题,您可以简单地使用一个不导出任何内容的导出语句。换句话说,只需写

 export {};
Run Code Online (Sandbox Code Playgroud)

文件顶层的某处。


Vat*_*sal 6

默认情况下,TypeScript将DOM类型用于全局执行环境,并且DOM中的全局窗口中有一个name属性

如果将var名称更改为name1,则不会显示此错误.但是,typescript建议使用ES6语法,因此您的IDE可能会建议您使用const/let.

请看这个链接 https://github.com/Microsoft/vscode/issues/22436

希望这可以帮助.

快乐学习