在typescript和typeof中声明数组是一个对象

时间:2018-02-17 12:34:08

标签: javascript typescript

所以,我试图使用ionic来创建一个应用程序,它使用typescript作为语言。

我宣布一个数组,如下所示:

products = new Array();

它是一个阵列,对吧?

但是为什么当我在console.log(typeof this.products)时,我得到"对象"

我希望它是一个阵列,我该怎么办?

1 个答案:

答案 0 :(得分:3)

typeof []object,因为Javascript中的数组不是type

检查您的变量是否为数组,您可以.isArray()



var arr1 = Array.isArray([1, 2, 3]);  
var arr2 = Array.isArray({foo: 123}); 

console.log(arr1);
console.log(arr2);




或者您也可以使用instanceof



var arr1 = [1,2,3];
if(typeof arr1 === "object" && arr1 instanceof Array){
  console.log("It is an array");
}