我绝对是TypeScript的初学者。我想通过“ for”循环在TypeScript中初始化数字数组,如下所示:
public hours: number[];
constructor() {
for (let i: number = 1; i < 25; i++) {
this.hours[i] = i;
}
}
我收到一个错误:无法设置未定义的属性“ 1”。请你帮助我好吗?
这行:
public hours: number[];
不创建新数组,仅声明它。
如果编译此代码:
class MyClass {
public hours: number[];
constructor() {
for (let i: number = 1; i < 25; i++) {
this.hours[i] = i;
}
}
}
你得到:
var MyClass = (function () {
function MyClass() {
for (var i = 1; i < 25; i++) {
this.hours[i] = i;
}
}
return MyClass;
}());
如您所见,this.hours
没有被分配。
因此,您需要这样做:
constructor() {
this.hours = [];
for (let i: number = 1; i < 25; i++) {
this.hours[i] = i;
}
}
要么:
public hours: number[] = [];
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句