Avatar ·

Cómo verificar si un objeto es un array en JavaScript

¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con una situación confusa. Necesito verificar si una variable es un array, pero obtengo resultados extraños. Aquí está el código: ```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" ``` El operador `typeof` devuelve "object" tanto para un array como para un objeto normal. Debido a esto, no puedo distinguir un array de un objeto. Intenté verificar con `arr instanceof Array` — parece funcionar, pero he oído que este método puede fallar si el array fue creado en otro frame o iframe. También vi que algunos usan `Array.isArray()`, pero no entiendo por qué este método es mejor o peor que otros enfoques. ¿Quizás hay otras formas? Necesito una solución confiable que funcione en cualquier condición — en el navegador, en Node.js, y que no se rompa al trabajar con diferentes ventanas o frames.