Javascript中推断变量是不是为数组?
罕见的要领
v => Array.isArray(v);
v => v instanceof Array;
// 不靠谱的要领
v => Object.prototype.toString.call(v) === '[object Array]'
/*
Object.prototype.toString = () => {
}
*/
v => v && v.constructor === Array
/*
var a = ({ constructor: Object });
var a = []; a.constructor = Object; // or anything
*/
Underscore
中的 _.isArray
Underscore 运用 isArray
(默许) 加 Object.prototype.toString
(作兼容) 的组合。