有没有一种方法可以将对象强制转换为类类型,以便默认属性值受到尊重?
例如:
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}
可以工作并强制类型,但它不是类的实例。为此,你最好使用一个带有初始化器的类构造函数。请参阅:https://dev59.com/A2Yq5IYBdhLWcg3w2UMU#37682352 - Meirion Hughes