【发布时间】:2017-08-04 02:33:26
【问题描述】:
有没有办法将对象类型转换为类类型,以便尊重默认属性值?
例如:
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 是 bob 的最简单方法是什么?
*编辑
这似乎有效:
var record : Person = Object.assign(new Person(), p);
这是好的还是坏的做法?
【问题讨论】:
-
你应该澄清你的问题。你想要一个类的实例还是强制转换一个对象时的类型?例如
var p:Person = {name="default", ... data}将起作用并强制执行类型,但它不是该类的实例。为此,使用带有初始化程序的类构造函数可能会更好。见:stackoverflow.com/questions/14142071/… -
我想用来自 json 的数据填充类的实例。
标签: typescript