Avatar ·

Comment vérifier si un objet est un array en JavaScript ?

Bonjour à tous ! Je viens de commencer à apprendre JavaScript et je suis tombé sur une situation confuse. Je dois vérifier si une variable est un array, mais j'obtiens des résultats étranges. Voici le code : ```javascript let arr = [1, 2, 3]; let obj = {name: "John"}; let str = "hello"; console.log(typeof arr); // "object" console.log(typeof obj); // "object" console.log(typeof str); // "string" ``` L'opérateur `typeof` retourne "object" à la fois pour un array et pour un objet classique. À cause de cela, je ne peux pas distinguer un array d'un objet. J'ai essayé de vérifier avec `arr instanceof Array` — ça semble fonctionner, mais j'ai entendu dire que cette méthode peut échouer si l'array a été créé dans un autre frame ou iframe. J'ai aussi vu que certains utilisent `Array.isArray()`, mais je ne comprends pas en quoi cette méthode est meilleure ou pire que les autres approches. Peut-être qu'il existe d'autres façons ? J'ai besoin d'une solution fiable qui fonctionne dans toutes les conditions — dans le navigateur, dans Node.js, et qui ne casse pas avec différentes fenêtres ou frames.