首页 > 解决方案 > 将 typescript 类隐蔽到对象

问题描述

我有一个打字稿类 A 和另一个类 B 具有类 A 的所有属性。有没有办法将所有值从类 B 复制到类 A。或者有没有办法将类 A 的所有属性作为对象。

标签: javascripttypescriptnestjs

解决方案


类实例是对象,因此您可以使用普通的对象原型函数 ex。

class MyClass {
  _a=0;
  _b=0;
  constructor(a, b){
    this._a=a;
    this._b=b;
  }
  
  set a(a){
    return this._a = a;
  }
  
  get a(){
    return this._a;
  }
  
  set b(b){
    return this._b = b;
  }

  get b(){
    return this._b;
  }
}

const instance = new MyClass(2,3);

console.log("keys", Object.keys(instance))
console.log("values", Object.values(instance))
console.log("entries", Object.entries(instance))

instance.a = 5;
instance.b = 5;

console.log("keys", Object.keys(instance))
console.log("values", Object.values(instance))
console.log("entries", Object.entries(instance))

考虑到它只会返回实际参数,而忽略 setter 和 getter


推荐阅读