在TypeScript中,当创建.d.ts源代码声明文件时,哪个更可取?为什么?
declare class Example {
public Method(): void;
}
或
interface Example {
Method(): void;
}
我能说出的不同之处在于接口不能有静态方法,所以你必须使用一个类。两者都不产生任何JS输出,所以这可能无关紧要?
发布于 2013-01-16 04:38:13
您可以实现该接口:
class MyClass implements Example {
Method() {
}
}
而declare class
语法实际上是用来为不是用TypeScript编写的外部代码添加类型定义的-所以实现是“别处的”。
发布于 2016-04-20 05:05:07
用外行的话说,在.ts
/d.ts
文件中使用declare
是为了告诉编译器,我们应该期望关键字we‘’re declaring
存在于那个环境中,即使它没有在当前文件中定义。这将允许我们在使用声明的对象时具有类型安全性,因为Typescript编译器现在知道某些其他组件可能会提供该变量。
https://stackoverflow.com/questions/14345485
复制相似问题