【发布时间】:2021-10-11 13:40:01
【问题描述】:
即如果我有一个看起来像的对象 Person
class PersonClass implements Person {
private _name : string;
private _age : number;
get name() : string {return this._name}
get age() : number (return this._age)
constructor(name : string, age : number) {
this._name = name;
this._age = age;
}
}
我有公共属性的接口:
interface Person {
name : string;
age : string;
}
我需要做的是得到一个人的对象表示,它反映了 Person 接口,看起来像
{ name: John, age: 23}
有没有办法做到这一点?我尝试了强制转换(person as Person} 和 JSON.stringify 和对象分配,我似乎最终得到了包含私有数据 _name 和 _age 但不包含接口成员 name 和“年龄”的对象
【问题讨论】:
-
所以您正在寻找一个仅包含
Person接口属性的新对象? -
这与stackoverflow.com/questions/34517538/… 密切相关。从那里的答案来看,这实际上很难做到。您是否考虑过只使用
toPlainObject方法? tsplay.dev/wgLQ4N
标签: typescript