/
Программирование
/
Курс JavaScript
/

Явное преобразование типов

JavaScript: Явное преобразование типов

В реальных программах часто возникает ситуация, когда данные одного типа нужно превратить в другой. Это особенно актуально при обработке ввода пользователя или данных из веб-форм: там всё приходит в виде строк, даже если вы ввели число.

JavaScript умеет преобразовывать типы автоматически (неявное преобразование), но полагаться на это опасно. Поэтому, когда вы точно знаете, какой тип хотите получить, лучше преобразовать значение явно — для этого есть специальные функции.

Преобразование строки в число

Представим, что мы получили из формы строку '345', а нам нужно сложить это число с другим:

const number = Number('345');
console.log(number + 5); // => 350

Функция Number() получает строку и превращает её в число. Такие функции называют функциями приведения типа (casting functions).

console.log(Number('0'));     // => 0
console.log(Number('10'));    // => 10
console.log(Number('3.14'));  // => 3.14
console.log(Number('hello')); // => NaN  (не удалось преобразовать)

Кроме Number(), есть функции parseInt() и parseFloat() — они «вытягивают» из строки целое или дробное число и умеют игнорировать лишние символы в конце:

console.log(parseInt('10px'));   // => 10
console.log(parseFloat('3.5kg')); // => 3.5

Преобразование в строку с помощью String()

Если нужно превратить число или логическое значение в строку, используйте функцию String():

console.log(String(10));   // => '10'
console.log(String(true)); // => 'true'
console.log(String(3.5));  // => '3.5'

Это полезно при формировании текстов и сообщений:

const age = 42;
console.log('Age: ' + String(age)); // => Age: 42
// Хотя здесь удобнее интерполяция: `Age: ${age}`

Преобразования можно выполнять одно за другим — значение проходит цепочку превращений:

'123'  ──Number()──→  123  ──String()──→  '123'

Преобразование в логическое значение с помощью Boolean()

console.log(Boolean(0));       // => false
console.log(Boolean(''));      // => false
console.log(Boolean('hello')); // => true
console.log(Boolean(1));       // => true

Отбрасывание дробной части с помощью Math.trunc()

Math.trunc() — встроенная функция; вызовы функций подробно разбираются в следующем модуле, пока достаточно использовать её по образцу из примера.

Иногда из дробного числа нужно получить целое, отбросив дробную часть. Для этого используют Math.trunc():

console.log(Math.trunc(36.6));  // => 36
console.log(Math.trunc(-36.6)); // => -36

В отличие от Math.floor(), Math.trunc() просто отбрасывает дробную часть независимо от знака.

Задание

Дана константа temperature = 36.6. Напишите программу, которая:

  1. Отбрасывает дробную часть (Math.trunc()).
  2. Преобразует результат в строку (String()).
  3. Выводит строку с единицей измерения: 36 °C.

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются