Встречается на собеседованиях • сегодня

Почему преобразование типа в if с проверкой длины массива является неявным

Проверка длины массива в if неявно преобразует массив в булево значение. В JavaScript любое значение можно привести к boolean. Пустой массив [] в булево преобразуется в true, так как он является объектом (а все объекты — truthy). Однако array.length вернет 0 для пустого массива, что в булево преобразуется в false.

Пример:

javascript
const arr = [];
if (arr) { // true (массив — truthy)
  console.log('Массив существует');
}
if (arr.length) { // false (0 — falsy)
  console.log('Массив не пуст');
}

Это может привести к неожиданному поведению, если не учитывать разницу между проверкой самого массива и его длины.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы