如何在typescript/javascript中创建类数组

如何在typescript/javascript中创建类数组,javascript,typescript,Javascript,Typescript,我有一辆高级轿车 export class Car{     no:number;     name:string; } 我想制作一个Car[]类型的类数组 let cars: Car[] = new Car[5]; 但这是不可能的。我不想创建以下类型的数组: let cars: Array<Cars> 因为他们使变量类型为“Array”,但我希望变量类型为“Car[]” 任何帮助都会非常有用。您可以设置类型并将其声明为空数组 let cars: Car[] = []; 给你

我有一辆高级轿车

export class Car{
    no:number;
    name:string;
}
我想制作一个Car[]类型的类数组

let cars: Car[] = new Car[5];
但这是不可能的。我不想创建以下类型的数组:

let cars: Array<Cars>
因为他们使变量类型为“Array”,但我希望变量类型为“Car[]”


任何帮助都会非常有用。

您可以设置类型并将其声明为空数组

let cars: Car[] = [];
给你:

类车扩展数组{ 构造函数长度:编号,公共编号:编号,公共名称:字符串{ 超长; } } const cars:Car[]=新车6、42、“蝙蝠侠”; 请记住,您的问题可能是XY问题

扩展本机内置程序是一种不好的做法

我从来没有在我的代码中使用过这样的smth


我认为你也不应该这样做。

我不明白这个问题。您说我希望变量类型为'Car[],但这正是您编写let cars:Car[]所要做的。发生了什么?另外,let cars:Car[]和let cars:Array not cars是一回事,据我所知,Car[]作为一种类型与Array完全相同。你怎么写,只是偏好而已。也就是说,创建一个Car数组总是需要创建一个Car类型的对象数组。这里没有魔法。新车[5];5表示此处的索引值。不是尺寸。你的假设是错误的。创建一个数组并将其声明为Car[]类型是您能从中获得的最大好处。它将始终是一个数组。类型Car[]字面意思是一系列的汽车。如果你想寻找一种快速创建汽车的方法,比如说5辆。如出租汽车所示:汽车[]=新车[5];那么这是不可能的。你需要手工或循环创建这5辆车。这里没有捷径。
let cars: Car[] = [];