如何从打字稿中的类中提取类型?

Joey Yi Zhao

我有一堂课:

class Person {
   name: string;
   age: number;
   gender: string;

   constructor(params: any){
     this.name = params.name;
     this.age = params.age;
     this.gender = params.gender;
   }
}

我如何从类中获取与以下类型Person等效的类型

 type PersonType = {
   name: string;
   age: number;
   gender: string;
 }

因此我可以将其用于构造函数params类型。我不想重复代码来编写类似上面代码的类型定义。我正在寻找一种从类定义中获取类型的方法。

我不想重复以下代码:

   name: string;
   age: number;
   gender: string;
尼基塔·马德耶夫(Nikita Madeev)

只需指定类作为类型

操场

class Person {
  name: string;
  age: number;
  gender: string;

  constructor(params: Person) {
    this.name = params.name;
    this.age = params.age;
    this.gender = params.gender;

    this.gender = params.gender2; // error
  }
}

const test1 = new Person({ age: 1, gender: '1', name: '1' });
const test2 = new Person({ age: 1, gender: '1' }); // error

或者,您可以使用Object.assign一次初始化所有字段,但随后需要为所有字段指定默认值

class Person {
  name: string = "default";
  age: number = 0;
  gender: string = "default";

  constructor(params: Person) {
    Object.assign(this, params);
  }
}

const test3 = new Person({ age: 1, gender: '1', name: '1' });
const test4 = new Person({ age: 1, gender: '1' }); // error

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从打字稿中的JSON中提取特定值

来自分类Dev

如何从打字稿中的类数组中解开类型

来自分类Dev

如何从打字稿中的类中创建排除实例方法的类型?

来自分类Dev

如何在打字稿中提取函数的类型?

来自分类Dev

打字稿从模块中提取返回类型

来自分类Dev

打字稿:从泛型中提取类型

来自分类Dev

如何从打字稿中的数组类型获取类型的索引号?

来自分类Dev

从打字稿中的静态方法中检索类名称

来自分类Dev

如何从打字稿中的动态键数组推断类型化数组?

来自分类Dev

从打字稿中的扩展类返回通用值

来自分类Dev

如何从打字稿中的typeof对象中删除索引

来自分类Dev

如何从打字稿中的日期中减去n天

来自分类Dev

如何从打字稿在html中设置图像网址?

来自分类Dev

坚持如何从打字稿中的数组计算模式

来自分类Dev

从打字稿中致电alertifyjs

来自分类Dev

从打字稿中的CLI解析文本

来自分类Dev

从打字稿中的通用类型调用通用类型的静态函数

来自分类Dev

如何基于相同类型中提到的键在打字稿中声明类型?

来自分类Dev

如何基于打字稿中的键从对象中提取特定元素

来自分类Dev

从打字稿中已识别联合的一部分中检测类型

来自分类Dev

从打字稿中具有相同父类的其他实例访问受保护的方法

来自分类Dev

如何修复打字稿中丢失的类型

来自分类Dev

如何检查打字稿中的值类型?

来自分类Dev

如何导入打字稿中的类型定义?

来自分类Dev

如何从打字稿中的JSON响应中获取日期对象

来自分类Dev

如何从打字稿中的静态参数数组中链接promise

来自分类Dev

如何从打字稿中的多页pdf中获取多个图像?

来自分类Dev

如何从打字稿中的静态函数访问非静态属性

来自分类Dev

如何使用React从打字稿中的对象创建HTML元素

Related 相关文章

  1. 1

    如何从打字稿中的JSON中提取特定值

  2. 2

    如何从打字稿中的类数组中解开类型

  3. 3

    如何从打字稿中的类中创建排除实例方法的类型?

  4. 4

    如何在打字稿中提取函数的类型?

  5. 5

    打字稿从模块中提取返回类型

  6. 6

    打字稿:从泛型中提取类型

  7. 7

    如何从打字稿中的数组类型获取类型的索引号?

  8. 8

    从打字稿中的静态方法中检索类名称

  9. 9

    如何从打字稿中的动态键数组推断类型化数组?

  10. 10

    从打字稿中的扩展类返回通用值

  11. 11

    如何从打字稿中的typeof对象中删除索引

  12. 12

    如何从打字稿中的日期中减去n天

  13. 13

    如何从打字稿在html中设置图像网址?

  14. 14

    坚持如何从打字稿中的数组计算模式

  15. 15

    从打字稿中致电alertifyjs

  16. 16

    从打字稿中的CLI解析文本

  17. 17

    从打字稿中的通用类型调用通用类型的静态函数

  18. 18

    如何基于相同类型中提到的键在打字稿中声明类型?

  19. 19

    如何基于打字稿中的键从对象中提取特定元素

  20. 20

    从打字稿中已识别联合的一部分中检测类型

  21. 21

    从打字稿中具有相同父类的其他实例访问受保护的方法

  22. 22

    如何修复打字稿中丢失的类型

  23. 23

    如何检查打字稿中的值类型?

  24. 24

    如何导入打字稿中的类型定义?

  25. 25

    如何从打字稿中的JSON响应中获取日期对象

  26. 26

    如何从打字稿中的静态参数数组中链接promise

  27. 27

    如何从打字稿中的多页pdf中获取多个图像?

  28. 28

    如何从打字稿中的静态函数访问非静态属性

  29. 29

    如何使用React从打字稿中的对象创建HTML元素

热门标签

归档