初始化Typescript中的数组成员

初始化Typescript中的数组成员,typescript,Typescript,如何在下面的类中初始化数组成员 class EventObject { map:Array; constructor() { this.map = []; // error :Cannot convert 'any[]' to 'Array' this.map = new Array(); // error :Cannot convert 'any[]' to 'Array' }; }

如何在下面的类中初始化数组成员

   class EventObject {
        map:Array;
        constructor() {
            this.map = [];  // error :Cannot convert 'any[]' to  'Array'
            this.map = new Array(); // error :Cannot convert 'any[]' to  'Array'
        };
}

var obj = new EventObject();
console.log(obj.map[0]);  
此外,如果我将类型更改为数字[],我可以对其进行初始化。但是,当我检查它是否是数组的instanceof时,我得到一个错误:

class EventObject {
            map:number[];
            constructor() {
                this.map = [];
                if(this.map instanceof Array)  //error here
                    alert("Type checking");
            };
}
我想同时做两件事:初始化和检查instanceof(或typeof)

Javascript数组与Typescript中的数组(由“[]”表示)有何不同

map: number[];
是正确的语法

不使用instacenof阵列有几个原因。请看这里:

如果要使用instanceof,必须按如下方式强制转换左运算符:

var m: number[];
if (<any>m instanceof Array) {
}
var m:number[];
if(数组的m个实例){
}
要回答Javascript数组与Typescript中的数组(由“[]”表示)有何不同,它们应该是等效的: