|
|
1
3
JS是一种松散类型的语言。因此,以下是可能的:
当您定义了接口时,它知道对象的模式是什么,如果您执行该选项,它将给您一个错误。 Typescript的全部目标是提供编译时警告。只有在对象具有预定义结构的情况下,才能实现这一点。这也有助于打字,因为IDE可以为您提供有效的建议。 |
|
|
2
1
接口是定义对象文字将具有的属性的非常好的方法。这非常类似于基于策略模式定义契约,typescript将根据该策略模式验证对象文本。您的代码不会编译,因为您没有实现
|
|
|
3
1
接口对于静态类型检查很有用。也就是说,当你开发你的应用程序时,你的IDE(例如WebStorm或VS代码)可以告诉你你将尝试访问一个未定义的属性,或者你将字符串放入一个需要数字的变量中。
例如,在JavaScript中,您可以发布以下内容:
这段代码将被发送和编译。但是如果你尝试调用它,这个脚本将崩溃,你的网站将无法工作。 如果将其作为接口,IDE可能会警告您该问题。如果您将捆绑程序(例如tsc编译器)配置为不允许出现这些问题,它甚至不会让您发送错误代码,您的网站将继续工作。 所以不是 确切地 在编译成JavaScript后,从build/“devops”的角度做一些技术上有用的事情。与过梁相同,与测试相同,与文档相同。如果你没有,也没关系,你的网站正在运行,但是如果你有这些,你就不太可能破坏它。 |