При работе с JavaScript часто возникает задача проверить тип данных переменной. Например, когда функция ожидает на вход массив, но есть риск получить что-то другое. В таких случаях необходимо узнать, является ли переданная переменная массивом.
Допустим, есть следующий код:
let fruits = ['apple', 'banana', 'cherry'];
И нужно убедиться, что fruits
действительно является массивом. В JavaScript есть несколько способов это сделать.
Использование instanceof
Один из самых распространенных способов — использование оператора instanceof
. Этот оператор возвращает true
, если объект, который является его левым операндом, является экземпляром типа, который указан в правом операнде.
let fruits = ['apple', 'banana', 'cherry']; console.log(fruits instanceof Array); // true
Использование метода Array.isArray()
JavaScript предлагает встроенный метод Array.isArray()
, который проверяет, является ли значение массивом.
let fruits = ['apple', 'banana', 'cherry']; console.log(Array.isArray(fruits)); // true
Оба этих способа надежны и вернут true
только в том случае, если переменная действительно является массивом. Они помогут избежать ошибок при работе с функциями, которые ожидают на вход массивы.
Использование свойства constructor
Также можно использовать свойство constructor
объекта, которое ссылается на функцию-конструктор, создавшую экземпляр объекта.
let fruits = ['apple', 'banana', 'cherry']; console.log(fruits.constructor === Array); // true
Однако этот способ менее надежен, поскольку свойство constructor
может быть изменено.
Добавить комментарий