我是TS的新手,我有一个关于初始化类的问题 以下是解析对象的示例
const myObj = {
"square": 100,
"trees": [
{
"height": 100,
"needles": 100500
},
{
"height": 50,
"apples": 20
}
]
};
class Forest {
constructor(
public square: number,
public trees: (Pine | AppleTree)[]
) {}
}
class Tree {
constructor(
public height: number,
) {}
}
class Pine extends Tree {
constructor(
public height: number,
public needles: number,
) {
super(height);
}
}
class AppleTree extends Tree {
constructor(
public height: number,
public apples: number,
) {
super(height);
}
public getApples() {
console.log(this.apples);
}
}
export function initMyClass() {
const forest: Forest = myObj;
}
但是这里有一个编译错误--myObject类型不能分配给类型‘森林’.我如何才能将对象解析到该类?
以及如何确定应该使用Tree
的哪个子类来解析数组中的特定对象
我try 了界面,但可能不是正确的方式