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
Спасибо за внимание.