有没有办法将对象类型转换为类类型,以便尊重默认属性值?类型转换时的Typescript默认属性
例如:
class Person {
name: string = "bob";
age: number;
sex: string;
}
var data = {
"age": 23,
"sex": "male"
}
var p = <Person>data;
console.log(p.name); // -> undefined
什么是做,所以p.name
是鲍勃最简单的方法?
*编辑
这似乎工作:
var record : Person = Object.assign(new Person(), p);
这是好还是不好的做法?
你应该澄清你的问题。你想要一个类的实例或强制类型转换时的类型?例如'var p:Person = {name =“default”,... data}'将会工作并执行该类型,但它不是该类的一个实例。为此,你可能会更喜欢使用初始化器的类构造函数。请参阅:http://stackoverflow.com/questions/14142071/typescript-and-field-initializers/37682352#37682352 –
我想要从json的数据填充类的实例。 – Guerrilla