在TypeScript中,为什么有时需要使用declare
声明一个变量,有时你不这样做(同样的问题也适用于函数,......)?
举个例子:我何时(以及为什么)使用
declare var foo: number;
if
let foo: number;
会做同样的事情(至少在我看来好像它做了同样的事情,即它们都声明了一个名为foo
类型的number
)。有什么不同?
你从不使用declare
to declare一个变量。您只需使用它来让 TypeScript 知道该变量存在,即使它没有在代码中声明(例如,因为它是在其他代码中声明的全局变量,或者因为您要结合以下 JavaScript 输出)tsc
与声明该变量的另一个文件)。或者换句话说:它只为 TypeScript 编译器声明,而不为 JavaScript 运行时声明。
如果你使用playground来编译你的declare var foo: number;
,它实际上没有为该声明输出任何内容;example.
相比之下,let foo: number;
(or var foo: number;
) is变量声明;example.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)