当我尝试将空值分配给已声明其类型的数组时出现此错误。这是导致错误的代码,
export interface EmiCalculator {
emi: number;
months: number;
position: number;
principal: number;
roi: number;
}
下面是产生错误的行,
emiResults: EmiCalculator = [];
如何为已声明类型的属性分配一个空数组。
答案 0 :(得分:2)
EmiCalculator
是一个对象,[]
是一个数组。您可能需要一个EmiCalculator
数组,可以将其写为EmiCalculator[]
或Array<EmiCalculator>
export interface EmiCalculator {
emi: number;
months: number;
position: number;
principal: number;
roi: number;
}
const emiResults: EmiCalculator[] = [];
答案 1 :(得分:1)
您将数组分配给对象。
接口本质上定义了对象的结构,因此您不能将数组分配给对象。
您可能正在寻找的是
emiResults: Array<EmiCalculator> = [];
答案 2 :(得分:-1)
写作时
emiResults: EmiCalculator = [];
您要为变量emiResults
分配一个空数组,该变量的类型定义为EmiCalculator
。
接口定义对象的结构。因此emiResults
的类型是object。但是您要分配一个数组。
您可能要执行以下任一操作。
let emiResults: EmiCalculator[] = [];
或者您可以使用Typescript通用语法,
let emiResults: Array<EmiCalculator> = [];