“export declare class Actions”中的“declare”有什么作用?

新手上路,请多包涵

为什么我们需要 declare 在语句中?

 export declare class Actions {
    ...
}

原文由 born2net 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

declare 在打字稿中:

typescript 中的 declare 关键字对于告诉 typescript 编译器 声明 是在其他地方定义的(在外部 JavaScript 文件或运行时环境的一部分中编写的某个地方)很有用。

假设我们在其他地方声明了一个名为 foo 的变量。然后,当我们尝试引用该变量时,打字稿编译器将抛出一个错误:

 foo = 'random'; // Error: 'foo' is not defined

我们可以使用 declare 关键字来解决这个问题:

 declare var foo: string;
foo = 'random';  // no error anymore

这会产生以下后果:

  • foo 实际上没有在其他任何地方声明时,我们尝试使用该变量可能会发生运行时错误。因此,当您知道此时变量可用时,仅使用 declare 关键字。
  • 因为我们知道类型,我们(可能)可以访问我们的 IDE Intellisense
  • 因为我们知道类型,所以 typescript 编译器可以 在编译时检查类型, 如果我们在某些场景中使用了错误的类型,它会警告我们。

原文由 Willem van der Veen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进