JavaScript: массив ли это
тип данных массива в JavaScript
Интересно, какой тип данных вернет оператор typeof для массива в JavaScript? Будет ли очевидный для многих ответ array верным?
const array = ['is', 'this', 'an', 'array'];
if (typeof array === 'array') {
console.log('Array');
} else {
console.log('Something weird');
}
Итак, с помощью литералей [] создан новый массив, содержащий несколько элементов, и его значение присвоено константе array. После чего с помощью оператора typeof определяется тип данных для константы array. В случае, если тип данных соответствует возвращаемой оператором строке array в консоль будет выведено сообщение Array, в противном случае на экране появится сообщение Something weird.
К недоумению многих начинающих разработчиков, непосвященных в особенности языка JavaScript, будет получен результат ‘Something weird’, так как в JavaScript отсутствует тип данных массив (array).
Любой массив является объектом, использующемся для создания массива, и соответствует типу данных object.
В этом легко убедиться:
const array = ['is', 'this', 'an', 'array'];
console.log(typeof array);
// object
Спасибо за внимание.
