Обновить
6
0
Антон Горецкий@rqdkmndh

Пользователь

Отправить сообщение

Темная магия JavaScript: Укрощаем неявное приведение типов

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели2.8K

Привет, Хабр! У каждого JS-разработчика есть своя история. История о том, как он впервые встретился с этим. Сидишь, пишешь код, всё логично, всё под контролем. И тут, чтобы проверить одну мелочь, открываешь консоль и из чистого любопытства пишешь:

[] + {} // Получаешь: "[object Object]"
// Хм, ладно, массив привел себя к строке, а объект стал... объектом. Логично.

{} + [] // Получаешь... 0 ???
// ЧТО?!

Стоп. Как это вообще возможно? Мы только что поменяли местами два операнда и получили совершенно другой тип данных. Кажется, будто язык издевается над нами.

Разобраться с этим!

Информация

В рейтинге
Не участвует
Откуда
Великобритания
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Фулстек разработчик
Ведущий
JavaScript
TypeScript
Node.js
React
Express
Redux
Webpack