我已经宣布了一个界面:
export interface DateArray {
year : number;
}
我正在组件中声明一个新变量,如下所示:
private dateArray: DateArray = {
year: null
};
在我的组件中,我为dateArray.year赋值,如:
this.dateArray.year = this.megaData[0][3];
现在我不明白的是,无论this.megaData[0][3]
的值是什么(字符串,数字,数组),它都会被分配给this.dateArray.year
而没有任何问题。
当我这样做时:
this.dateArray.year = "A"
我收到错误“无法将字符串分配给数字”,但当this.megaData[0][3]
的值为"A"
时,我没有收到任何错误,输出结果为:
this.dateArray.year = this.megaData[0][3];
console.log("this.dateArray.year);
只是A
this.megaData
现在被定义为<any>
,这可能是问题吗?
答案 0 :(得分:0)
this.megaData
现在被定义为<any>
,这可能是问题吗?
正确为any
表示它也可以是或包含一个数字(声明的属性类型year
),因此赋值不会生成类型不匹配错误