Avatar ·

Cómo verificar correctamente si una variable es un array en JavaScript

¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con un problema. Necesito verificar si una variable es un array, pero no estoy seguro de cómo hacerlo correctamente. Sé que existe el operador `typeof`, pero no funciona para arrays — devuelve `"object"`. Por ejemplo: ```javascript const arr = [1, 2, 3]; console.log(typeof arr); // "object" — ¡inútil! ``` Intenté usar `instanceof Array`, pero me dijeron que no es confiable, especialmente si el código trabaja con diferentes frames o ventanas (iframes). También vi que alguien verificaba con `Array.isArray()`, pero no entiendo por qué este método es mejor. Además, me confunde que en algunos proyectos antiguos usan `Object.prototype.toString.call(arr) === '[object Array]'`. ¿Es esto legacy o un enfoque moderno? Por favor, indíquenme qué método se considera correcto en 2024. Quiero escribir código que funcione tanto en el navegador como en Node.js, y que no se rompa en el futuro. Agradeceré ejemplos con explicaciones.