[#] [Перевод] Javascript-путешествие с шестью символами
habrabot(difrex,1) — All
2016-10-10 12:00:04


![][1]



Javascript – это странный и прекрасный язык, который позволяет писать безумный, но все еще валидный код. Он пытается помочь нам, конвертируя одни штуки в другие в зависимости от того, как мы работаем с ними.



Если добавить строку к чему-то, то он допустит, что мы хотим получить текст, поэтому сконвертирует все в строку.



Если мы добавляем префикс "плюс" или "минус", то он допустит, что нам нужно числовое представление и сконвертирует строку в число, если сможет.



Если мы отрицаем что-то, то он сконвертирует это в булево значение.



Мы можем использовать эти особенности языка и создать немного магии со всего-лишь шестью символами: `[`,`]`,`(`,`)`,`!` и `+`. Если вы читаете это на десктопе, то можете открыть консоль в вашем браузере (developer tools, например) и запускать код. Просто копируйте любой код из примеров ниже в консоль, и он должен исполнится и вернуть true.



Давайте начнем с простого. Вот главные правила:


1. Префикс `!` конвертирует в Boolean
2. Префикс `+` конвертирует в Number
3. Добавление `[]` конвертирует String

Вот они в действии:


![] === false
+[] === 0
[]+[] === ""
[Читать дальше →][2]

[1]: https://habrastorage.org/files/fd0/fba/e92/fd0fbae92e7c4775b6bf06d758ee24ae.jpg
[2]: https://habrahabr.ru/post/312172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut