typescript编译器错误:无法将'{} []'转换为'Array'

时间:2013-01-15 12:51:50

标签: typescript tsc

我在使用此打字稿代码时出现编译错误:)

我已经像这样定义了playerBullets:

playerBullets: Array = Array[40];

并尝试这样做:

this.playerBullets = this.playerBullets.filter(function (bullet) {
    return bullet.active;
});

但此代码已出现红色语法错误:

  

WebUI / ts / game.ts(89,19):预期的var,类,接口或模块   WebUI / ts / game.ts(88,29):无法将'{} []'转换为'数组'

如果我将定义更改为:

playerBullets  = [];

它有效,有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您需要像这样定义数组:

playerBullets: bullet[] = new Array(40);

整体代码如下所示:

interface bullet{
     active :bool;
}

var playerBullets:bullet[] = new Array(40)

playerBullets = playerBullets.filter( function (bullet) {
    return bullet.active;
});

当然你不必定义项目符号类型(但如果你使用你可能想要的打字稿)

var playerBullets:any = new Array(40)

playerBullets = playerBullets.filter( function (bullet) {
    return bullet.active;
});