是否有理由在类型和接口前使用declare关键字?

时间:2018-03-07 15:54:15

标签: typescript declare

我遇到过这样的代码:

declare type A = { ... };
declare interface B { ... }

从搜索declare关键字(并且由于某种原因没有指向我的TypeScript文档),当JavaScript中存在变量并且您需要从中引用它时使用declare TypeScript,因此您向编译器声明此变量确实存在。

我发现使用此关键字的所有示例都使用如下:declare var a;

为什么我会在typeinterface前面使用它?根据我对declare的理解,这样做完全没用,但是编译器没有给我任何错误。

1 个答案:

答案 0 :(得分:12)

看起来我刚刚找到原因。

来自这个github issue

  

declare在类型别名和接口上应该是可选的。

     

declare typedeclare interfacetypeinterface相同

     

由于我们已经以这种方式发布了类型别名,因此人们不得不多次编写declare type。我们可以打破他们并说'#34;写type,而不是declare type",但这不是一个真正原因的大规模休息。

总之,没有理由将declare用于类型和接口。