[Перевод] Неявное преобразование типов в JavaScript. Сколько будет !+[]+[]+![]?
|
|
Вторник, 30 Января 2018 г. 14:13
+ в цитатник
Приведение типов — это процесс преобразования значений из одного типа в другой (например — строки в число, объекта — в логическое значение, и так далее). Любой тип в JavaScript, идёт ли речь о примитивном типе, или об объекте, может быть преобразован в другой тип. Напомним, что примитивными типами данных в JS являются
Number
,
String
,
Boolean
,
Null
,
Undefined
. К этому списку в ES6 добавился тип
Symbol
, который ведёт себя совсем не так, как другие типы. Явное приведение типов — процесс простой и понятный, но всё меняется, когда дело доходит до неявного приведения типов. Тут то, что происходит в JavaScript, некоторые считают странным или нелогичным, хотя, конечно, если заглянуть в стандарты, становится понятно, что все эти «странности» являются особенностями языка. Как бы там ни было, любому JS-разработчику периодически приходится сталкиваться с неявным приведением типов, к тому же, каверзные вопросы о приведении типов вполне могут встретиться на собеседовании.
Эта статья посвящена особенностям работы механизмов приведения типов в JavaScript. Начнём мы её со списка выражений, результаты вычисления которых могут выглядеть совершенно неожиданными. Вы можете испытать себя, попытавшись найти значения этих выражений, не подглядывая в конец статьи, где будет приведён их разбор.
Читать дальше ->
https://habrahabr.ru/post/347866/
Метки:
author ru_vds
разработка веб-сайтов
javascript
блог компании ruvds.com
разработка
типы данных
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-