Полный цикл в digital

Преобразования данных

Нередко возникает необходимость преобразовать одни данные в другие. Некоторые преобразования javascript выполняет автоматически, например:

let number1 = "56";
let number2 = 4;
let result = number1 + number2;
// 564
console.log(result);

Здесь переменная number1 представляет строку, а точнее строковое представление числа. А переменная number2 представляет число. И в итоге мы получим не число 60, а строку 564.

При сложении преобразования в JavaScript производятся по принципу:

  • Если оба операнда представляют числа, то происходит обычное арифметическое сложение
  • Если один из операндов строка, то оба операнда преобразуются в строки и производится объединение строк

Встроенные функции для преобразований

String()

Функция String() и позволяет получить строковое представление значение. Так, выражение String(number2) получает строковое представление number2, то есть из числа 4 получает строку "4".

ParseInt()

Для преобразования строки в целое число применяется функция parseInt():

let number1 = "56";
let number2 = 4;
let result = parseInt(number1) + number2;
// 60
console.log(result);

При этом строка может иметь смешанное содержимое, например, "123hello", то есть в данном случае есть цифры, но есть и обычные символы. Функция parseInt() все равно попытается выполнить преобразование - она последовательно, начиная с первого символа, считывает цифры, пока не встретит первый нецифровой символ:

let num1 = "123hello";
let num2 = parseInt(num1);
// 123
console.log(num2);

NaN и isNaN

Если функции parseInt() не удастся выполнить преобразование, то он возвращает значение NaN (Not a Number), которое говорит о том, что строка не представляет число и не может быть преобразована. Что интересно, само значение NaN (не число) представляет тип number:

// NaN
console.log(parseInt("abc"));
let type = typeof NaN;
// number
console.log(type);

С помощью специальной функции isNaN() можно проверить, представляет ли строка число. Если строка не является числом, то функция возвращает true, если это число - то false:

let num1 = "javascript";
let num2 = "22";
let result = isNaN(num1);
// true - num1 не является числом
console.log(result); 
     
result = isNaN(num2);
//  false - num2 - это число
console.log(result);
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг