我已经声明了一个接口:
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>
,这可能是问题所在吗?
1条答案
按热度按时间dced5bon1#
this.megaData
现在只是定义为<any>
,这可能是问题所在吗?正确,因为
any
表示它也可以是或包含数字(* 属性year
的声明类型 *),因此赋值不会生成类型不匹配错误。