ArkTS为什么不支持structural typing,如下图?
ArkTS(假设这是您所提到的语言或工具的名称,因为在我所知的范围内没有直接称为ArkTS的编程语言)不支持structural typing的原因可能与其设计决策、语言特性和目标应用场景有关。然而,没有具体的信息或背景,很难提供一个确切的答案。
Structural typing是一种类型系统,它根据对象的结构(如属性和方法的集合)来确定兼容性,而不是根据对象是否实现了特定的接口或继承了特定的类。这种类型系统在某些语言中很常见,如TypeScript和Scala。
如果ArkTS不支持structural typing,可能有以下几个原因:
请注意,以上只是一些可能的原因,具体的答案需要更多关于ArkTS的详细信息。如果您有关于ArkTS的更多背景或上下文,我会更乐意为您提供更具体的答案。
1 回答759 阅读✓ 已解决
1 回答746 阅读
1 回答725 阅读
1 回答682 阅读
1 回答647 阅读
647 阅读
422 阅读
对于没有继承关系或没有implements相同的接口,但由于它们具有相同的publicAPI,它们“在某种程度上是相等的”;对于没有继承关系或没有implements相同的接口,应当始终被视为完全不同的类型,因此上述两个问题的答案都是“否”。这是两种思想。
采用第一种方法的语言支持structural typing,而采用第二种方法的语言则不支持structural typing。目前TypeScript支持structural typing,而ArkTS不支持。
structural typing是否有助于生成清晰、易理解的代码,关于这一点并没有定论。那为什么ArkTS不支持structural typing呢?
因为对structural typing的支持是一个重大的特性,需要在语言规范、编译器和运行时进行大量的考虑和仔细的实现。另外,由于ArkTS使用静态类型,运行时为了支持这个特性需要额外的性能开销。