如下:b
是chart的一个实例对象,无法设置初始值,页无法在constructor
中初始化。这样就会报错:
class Test {
private a: string
// 属性“b”没有初始化表达式,且未在构造函数中明确赋值。
private b: ChartCfg
constructor(a: string) {
this.a = a
}
createB() {
this.b = new Chart({
container: '#chart'
// ...
})
}
testB() {
this.b.line()
}
}
如果给b
一个初始值,类型就不匹配
// 不能将类型“null”分配给类型“Chart”。
private b: Chart = null
如果给b
加个类型,调用它的时候类型就会报错😂
private b: Chart | null = null
// 对象可能为 "null"。
this.b.line()
我可以用断言,但是每次使用b
都需要断言,太麻烦了😥
(<Chart>this.b).line()
大神们如果解决这类问题?
非空断言就行了。