作者:CL_LC的小屋花_344 | 来源:互联网 | 2022-12-08 14:57
我有一个简单的登录方案,要求用户在Typescript中输入电子邮件和密码.我需要创建一些类型来获得强类型并将其发送到后端.
应该写成:
export interface UserLogin {
email: string;
password: string;
}
//OR
export class UserLogin {
email: string;
password: string;
}
以及如何知道何时使用这些方案?
1> 小智..:
在最基本的情况下,类本质上是一个对象工厂(即一个对象应该看起来然后实现的蓝图),而接口是一个仅用于类型检查的结构.
虽然类可能具有初始化的属性和方法来帮助创建对象,但是接口实际上定义了对象可以具有的属性和类型.
在您描述的场景中,可以使用界面为UserLogin设置类型.
2> Yakov Fain..:
如果只需要声明自定义类型,则使用接口。IMO,这是一个非常务实的原因-它们不会被翻译成Javascript,因此生成的代码更短。
如果您需要使用构造函数实例化对象或使用实例化并注入它们的框架,则接口将无法工作。然后使用类或抽象类。
3> D. Phi..:
实际上,两者都能胜任。我建议您使用接口,但是如果您只是为了进行类型检查而只进行类型检查的话。
类和接口是功能强大的结构,不仅可以促进面向对象的编程,而且还可以促进TypeScript中的类型检查。类是一个蓝图,我们可以从中创建共享相同配置(属性和方法)的对象。接口是一组描述对象的相关属性和方法,但既不提供实现也不为它们初始化。
来自:https : //toddmotto.com/classes-vs-interfaces-in-typescript