Typescript中的for-in循环始终将变量视为字符串

Bri*_*egg 3 javascript typescript

这已经困扰了我一段时间了。在Typescript中,如果我定义一个For-in循环,则我的变量始终被视为字符串。例:

for(var room in this.rooms) {
    room.placement.x = 52;
}
Run Code Online (Sandbox Code Playgroud)

“ room.placement.x”将失败,因为它将“ room”视为字符串。“ this.rooms”实际上是Room对象的集合,但是room不是Room,而是一个字符串。

这是Typescript版本问题还是存在的问题。非常令人沮丧。

有没有一种方法可以定义房间,以便Typescript可以将其视为房间?

房间的定义是:“私人房间:Room.Game.Room [];”

它是一个自定义对象的数组。

Bru*_*der 5

如果this.rooms是数组,则正确的语法是for ...of

for (let room of this.rooms) {
    room.placement.x = 52;
}
Run Code Online (Sandbox Code Playgroud)

for ... in 遍历键

看到这个更多