Может ли массив содержать разные типы данных

«Может ли массив содержать разные типы данных» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, в JavaScript массив может содержать элементы разных типов данных. Это одна из особенностей языка, так как он динамически типизирован.

Пример:

const mixedArray = [42, 'строка', true, { name: 'Объект' }, [1, 2, 3]];
console.log(mixedArray); // [42, 'строка', true, {…}, Array(3)]

Нюансы:

  • Проверка типов элементов может потребоваться перед операциями (typeof, Array.isArray()).
  • Методы массивов (например, sort(), reduce()) могут вести себя неожиданно с разнотипными данными.
  • В TypeScript можно явно указать тип (string | number)[], но смешивание типов усложняет поддержку кода.