Разберем пример:
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.
Комментарии