Неявное приведение типов — это автоматическое преобразование одного типа данных в другой при выполнении операций между несовместимыми типами.
JavaScript применяет разные правила приведения типов в зависимости от используемого оператора:
+ отдаёт приоритет строкам — если хотя бы один операнд является строкой, другой преобразуется в строку-, * и / отдают приоритет числам — операнды-строки преобразуются в числа"5" + 3 // → "53" (число преобразовано в строку)
"5" - 3 // → 2 (строка преобразована в число)
true + 1 // → 2 (логическое значение преобразовано в число)
null + 1 // → 1 (null преобразован в 0)
Неявное приведение типов может вызвать неожиданные ошибки, которые сложно отследить:
+==) запускает приведение типов при сравнениях, что приводит к неожиданным результатам вроде 0 == false, которое вычисляется в trueЧтобы избежать проблем с приведением типов:
===) вместо ==, чтобы предотвратить преобразование типов при сравненияхNumber(), String() или Boolean(), когда нужно изменить типОператор + в JavaScript отдает приоритет конкатенации строк, преобразуя другой операнд в строку, если хотя бы один операнд является строкой.
Новый — ещё не проверен сообществом
Вы