Search
Write a publication
Pull to refresh
4
2
Антон Горецкий @rqdkmndh

User

Send message

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

Level of difficultyEasy
Reading time12 min
Views4.6K

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

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

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

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

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

Information

Rating
748-th
Location
Великобритания
Registered
Activity