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.