fonction native de V8. C'est rapide, c'est toujours correct. Cela fait partie de l'ES5.
Vérifie si l'objet a été créé avec le constructeur de tableau.
Une méthode de l'underscore. Voici un extrait extrait de leur source
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
Cette méthode prend un objet et appelle la méthode Object.prototype.toString
sur celui-ci. Cette méthode renverra toujours [object Array]
pour les tableaux.
D'après mon expérience personnelle, je trouve que demander à la toString
est la plus efficace mais elle n'est pas aussi courte ou lisible que la méthode instanceof Array
Il n'est pas non plus aussi rapide que Array.isArray
mais c'est du code ES5 et j'ai tendance à éviter de l'utiliser pour la portabilité.
Je vous recommande personnellement d'essayer d'utiliser underscore
qui est une bibliothèque contenant des méthodes utilitaires communes. Elle contient de nombreuses fonctions utiles qui permettent d'assécher votre code.