собственная функция V8.Это быстро, это всегда правильно.Это часть ES5.
Проверяет, был ли объект создан с помощью конструктора массива.
Метод подчеркивания.Вот фрагмент, взятый из их источника
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
. Этот метод берет объект и вызывает для него метод Object.prototype.toString
.Это всегда будет возвращать [object Array]
для массивов.
По моему личному опыту, запрос toString
является наиболее эффективным, но он не такой короткий и не читаемый, как instanceof Array
, и при этом он не так быстр, как Array.isArray
, но это код ES5, и я стараюсь не использовать его для переносимости.
Я бы лично порекомендовал вам попробовать использовать underscore
, который представляет собой библиотеку с общими служебными методами.Он имеет много полезных функций, которые высушивают ваш код.