☕ 5+5=? Преобразование значений в строку или число в JavaScript
В языке JavaScript данные можно преобразовывать автоматически либо с помощью функций. В статье узнаем, как работают способы преобразования данных в JS и почему при сложении 5 и 5 мы можем получить 55 вместо 10.
Разберем пример:
var a = 5; //число var b = "5"; //строка var c = a + b; alert(c);//выведет 55 alert(typeof(c))// выведет string
Когда мы складываем 5 и 5, то ожидаем увидеть вывод — 10. Однако, получаем 55 и видим, что тип данных — не число, а строка.
Язык JavaScript автоматически преобразовал переменную a в строку и соединил ее с переменной b в одну строку.
Чтобы тип данных был ожидаем для разработчика, используют функции преобразования. Рассмотрим их подробно.
Преобразование в строку в JavaScript
Чтобы преобразовать число в строку используют функцию String().
Например:
var a = 5; //число a = String(a);//преобразует переменную а в строку alert(typeof(a));//выведет string
Преобразование в число в JavaScript
Чтобы преобразовать данные в число используют функцию Number(). Попробуем преобразовать строковое значение 5 в число.
var a = "5";//строка a = Number(a); //преобразует переменную а в число alert(typeof(a));//выведет number
Если вы будете использовать в математических выражениях строки, то JavaScript автоматически преобразует переменные в числа.
Например:
var a = "5"; //строка var b = "5"; //строка var c = a/b; alert(c);//выведет 1, что мы и ожидаем при делении 5 на 5 alert(typeof(c));// выведет number
Логическое преобразование в JavaScript
Для логического преобразования используют функцию Boolean().
Данные типа пустая строка, NaN, undefined, null — преобразуются в false.
Все остальные данные: числа и строки, преобразуются в true.
Например:
var a = "null"; alert(Boolean(a));//выведет false
var a = "0"; alert(Boolean(a));//выведет true
var a = " ";//пробел alert(Boolean(a));//выведет true
var a = "";//пусто, без пробелов и других знаков alert(Boolean(a));//выведет false
Подведем итоги
JavaScript может преобразовывать данные автоматически:
- число преобразуются в строки, если их использовать в выражениях со строкой;
- если в строках находятся числа и с ними выполняют математические операции, то они преобразуются в числа.
Для преобразования используют функции:
String()— преобразует данные в строки.Number()— преобразует данные в числа.Boolean()— преобразует данные в логические значения true или false.