我是javascript和Typescript的新手。我试图从接口声明变量。我想在以后填充初始化变量的值。然后,我想将所有此类变量推入接口类型的数组。
这是正确的方法吗?
interface Car{
name: string;
year?: number;
}
let c1: Car = {} as Car;
c1.name = "Audi";
let c2: Car = {} as Car;
c2.name = "BMW";
let c: Array<Car> = [];
c.push(c1);
c.push(c2);
答案 0 :(得分:0)
您将c1
声明为类型Car
的对象,然后您不必关心它,并使用{}
对其进行初始化(错误地断言为Car
) 。这没有任何意义。
改为使用let c1: Car = { name: 'Audi' };
。
然后let c: Array<Car> = [ c1, c2 ];
声明并初始化数组。
interface Car {
name: string;
year?: number;
}
let c1: Car = { name: 'Audi' };
let c2: Car = { name: 'BMW', year: 2015 };
let c: Array<Car> = [c1, c2];
更短,更清洁,类似OOP。