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.
No answers yet.
Inicia sesión para dejar una respuesta
Blogs