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

时间:2017-09-15 06:17:21

标签: javascript typescript variables

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

var name:string = "John";

但得到了错误

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'.

此错误背后的原因是什么?

cannot redeclare block-scoped variable 'name'

cannot redeclare block-scoped variable 'name'

2 个答案:

答案 0 :(得分:5)

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

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

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

希望这有帮助。

快乐学习

答案 1 :(得分:4)

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

 export {};

位于文件顶层的某处。