☕ 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 может преобразовывать данные автоматически:

  • число преобразуются в строки, если их использовать в выражениях со строкой;
  • если в строках находятся числа и с ними выполняют математические операции, то они преобразуются в числа.

Для преобразования используют функции:

  1. String() — преобразует данные в строки.
  2. Number() — преобразует данные в числа.
  3. Boolean() — преобразует данные в логические значения true или false.

Материалы по теме

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

eFusion
01 марта 2020

ТОП-15 книг по JavaScript: от новичка до профессионала

В этом посте мы собрали переведённые на русский язык книги по JavaScript – ...
admin
10 июня 2018

Лайфхак: в какой последовательности изучать JavaScript

Огромный инструментарий JS и тонны материалов по нему. С чего начать? Расск...