这是了解 Java 脚本中变量类型的更好方法

Which is a better way to know the type of a variable in Java Script

本文关键字:类型 更好 方法 变量 了解 Java 脚本      更新时间:2023-09-26

如果我有一个变量var a,并且我想检查它是否属于数组类型,我可以做

a.constructor === Array

a instanceof Array

哪个是更好的方法,为什么?

查看 Array.isArray() 函数:

Array.isArray(a);
if(typeof a === 'object' && Array.isArray(a)) {
    //its array
}

更新:差异

var a = Object.create(Array.prototype);
alert(a instanceof Array);                       //TRUE
alert(a.constructor === Array);                  //TRUE  
if (typeof a === 'object' && Array.isArray(a)) { //FALSE 
    alert(true);
} 
else {
    alert(false);
}

但后来你这样做了

var a = new Array();  // or var a = [];  etc
alert(a instanceof Array);                       //TRUE
alert(a.constructor === Array);                  //TRUE  
if (typeof a === 'object' && Array.isArray(a)) { //TRUE 
    alert(true);
} 
else {
    alert(false);
}

返回以下使用的变量类型

typeof(a)
相关文章: