Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «typeof []». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Оператор **`typeof`** у JavaScript повертає **тип значення** у вигляді рядка, але масив він повертає як `"object"`, **а не** `"array"`. **Ключове:** масив - це частинний випадок об'єкта, тому `typeof []` завжди дає `"object"`.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняОператор `typeof` у JavaScript повертає **тип значення** у вигляді рядка. Але в нього є одна **неочевидна поведінка** - з масивами. --- ## Приклад: ```javascript console.log(typeof []); // "object" ``` Так, масив повертає `"object"` - **а не** `"array"`. --- ## Чому так? Тому що в JavaScript **масив - це частинний випадок об'єкта**. Всередині він реалізований як об'єкт, де: - **ключі** - це числові індекси (`"0"`, `"1"`, `"2"`), - а властивість `length` відстежує кількість елементів. Приклад: ```javascript const arr = ["a", "b"]; console.log(Object.keys(arr)); // ["0", "1"] ``` --- ## Як правильно перевірити, що це саме масив Використовуй: ```javascript Array.isArray([]); ``` або ```javascript [] instanceof Array; ``` Обидва варіанти повернуть: ```javascript true ``` --- ## Коротко: | Перевірка | Повертає | Коментар | |---|---|---| | `typeof []` | `"object"` | тому що масив - об'єкт | | `Array.isArray([])` | `true` | правильний спосіб | | `[] instanceof Array` | `true` | теж правильно, але залежить від оточення | --- > **Підсумок:** > `typeof []` -> `"object"` > тому що масиви - це **спеціальні об'єкти**, оптимізовані для зберігання впорядкованих даних.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.