JavaScript 中怎样推断变量是不是为数组

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(作兼容) 的组合。

    原文作者:hyule
    原文地址: https://segmentfault.com/a/1190000017164529
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞