Typescript类实例的用法。相对于形状正确的对象,更喜欢真实的实例?

问题描述 投票:0回答:1

我是一名Python软件工程师,也是Typescript的初学者,目前正在开发Angular应用程序。关于我为什么以及如何使用类和实例的理解,我时不时地会感到惊讶,并且我正在寻找经验丰富的建议。具体来说,考虑一个类似的类:

class User {
    constructor(public name: string, ...many more instance attributes);
    upperCase() {return this.name.upper();}
    // ...many more methods that use instance state
}

  • 确保在整个应用程序中使用的类型化对象的每个实例都是“真实”类实例,而不是仅与“形状”匹配的对象相对应吗?

  • 例如,每个HTTP服务都应执行以下操作:return http.get<User>.pipe(map(user => new User(user))),以便客户端可以确定其实际处理的内容,实例检查始终按预期执行并且缺少的方法不会引发错误?
  • 这是否被认为繁琐的(尤其是嵌套对象)?从我所看到的几个项目中,我并没有感到他们真的太在乎这个!!
  • 当对象不是关于方法的“真实”实例时,静态类型检查如何正常工作。
  • 应该使OO在方法和实例状态操作/功能方面保持简单,而类应该主要用于“形状检查”(我想就是DTO!)?)>
  • 确实不时有提示(例如official guide to mixins),这使我产生疑问:我是否应该像使用其他语言那样依赖Typescript中的类,还是仅将它们命名为DTO并将其用作形状检查的便利,而在带类型注释的函数中更程序地实现大多数功能(因此仅形状很重要)

我是一名Python软件工程师,也是Typescript的初学者,目前正在开发Angular应用程序。关于我为什么理解...

angular typescript class type-safety
1个回答
0
投票

打字稿是structurally typed, not nominally typed,就像您惯用的一样,您似乎想回到的文字。

© www.soinside.com 2019 - 2024. All rights reserved.