【发布时间】:2019-10-16 06:19:13
【问题描述】:
我有一个类,然后定义了一个类的数组,每次想在数组中添加一个节点,我都不得不提到我不喜欢的类名:
export class ItemModel {
constructor(
ID,
Name
) {
this.ID = ID;
this.Name = Name;
}
}
export var ItemsArray = [];
ItemsArray.push(new ItemModel(0, "BreakFast"));
ItemsArray.push(new ItemModel(1, "Lunch"));
ItemsArray.push(new ItemModel(2, "Dinner"));
看完这篇文章:
https://answers.unity.com/questions/637902/how-to-use-javascript-array-with-classes.html
我尝试在定义数组时声明类,如下所示:
var ItemsArray : ItemModel[];
但我收到错误:“类型只能在 .ts 文件中使用。
我在谷歌上搜索过,但没有一个有用。
任何建议都将不胜感激。
【问题讨论】:
-
javascript 的数组不是强类型的。您可以添加一个隐藏构造和推送的功能。
-
var PanelItemsArray : PanelItem[];是 TypeScript 语法,您需要一个 TypeScript 编译器才能将其转回 JavaScript。但即便如此,您也没有解决您的基本问题,因为即使在 TS 中您也需要执行ItemsArray.push(new PanelItem(0, "BreakFast"));- 如果您的代码中有ItemsArray.push(42);,那么所有 TS 都会为您提供错误,因为42是一个数字,而不是ItemModel -
@T.J.Crowder,对不起,因为复制了我的部分源代码,我编辑了它
标签: javascript