Главная » Статьи » Быстрый совет: как преобразовать число в строку в JavaScript

Быстрый совет: как преобразовать число в строку в JavaScript

От автора: JavaScript – достаточно гибкий язык. Он предлагает множество способов, как конвертировать типы данных. В этом коротком уроке мы узнаем, как перевести число в строку в JavaScript. Конвертация может понадобиться, если нужно сделать числа более читаемыми для пользователей. Например, для вставки внутрь предложения.

В этом уроке разберем 4 способа, как перевести число в строку в JavaScript. В зависимости от ваших нужд рекомендуется использовать разные подходы:

Интерполяция строк: при вставке числа внутрь строки. Например, когда нужно показать на странице текст «Вы использовали 7 баллов из 24». Можно также воспользоваться конкатенацией, но аккуратно.

String или toString(): когда нужно сменить тип данных number на String. Например, когда передаем числа в функции или API, которые ожидают на вход строку. String и toString() работают почти одинаково. Они по-разному обрабатывают undefined и null.

Конвертируем тип Number в String с помощью интерполяции

Интерполяция, возможно, самый читаемый способ перевести числа в строки. Вместо ручной конвертации вы вставляете число внутрь строки с помощью этого метода.

Чтобы задействовать интерполяцию, оберните строку в такие обратные кавычки ` вместо двойных кавычек « или одинарных ‘. После, внутри строки можно использовать переменные через ${}. Это шаблонный литерал, у него есть много других преимуществ. Например:

const number = 99; console.log(`${number} percent of people love JavaScript`); // "99% of people love JavaScript"

Так как логируемая в консоль строка обернута в обратные кавычки, внутри нее можно использовать переменные через ${}. Пример в действии можно посмотреть в демо ниже.

Конвертация числа в строку через конкатенацию строк

Второй способ – конкатенация строк. Для этого можно использовать оператор +. Например:

console.log(10 + "USD"); //"10USD" console.log(10 + ""); //"10"

Эффективный подход (требует меньше всего кода). Однако такой способ можно сделать код менее читаемым.

Минус конкатенации строк

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

const a = 2000; const b = 468; console.log(a + b + " motorway"); // "2468 motorway"

a + b это операция сложения чисел, и она выполнится раньше конкатенации строк. После сложения чисел подходит очередь строковой переменной или литерала, после чего операция + превращается в конкатенацию. Поэтому результат будет 2468 motorway.

А теперь поменяйте код следующим образом:

const a = 2000; const b = 468; console.log("it is " + a + b + " motorway"); // "it is 2000468 motorway"

Сначала выполнится операция «it is» + a. Поэтому здесь + это оператор конкатенации строки с остальной частью выражения. По такому принципу вместо операции сложения чисел a и b мы получаем конкатенацию. Обойти это можно с помощью круглых скобок:

const a = 2000; const b = 468; console.log("it is " + (a + b) + " motorway"); // "it is 2468 motorway"

Сначала выполнится операция сложения чисел a и b в скобках, а затем уже конкатенация первого операнда «it is» с суммой чисел.

Конвертация числа в строку через toString

Третий способ — toString(). Этот метод доступен для типов данных JavaScript. Метод конвертирует значение, на котором вызывается, и возвращает его же уже строкой. Например:

const number = 10; console.log(number); // 10 console.log(typeof number); // "number" const numberStr = number.toString(); console.log(numberStr); // "10" console.log(typeof numberStr); // "string"

Этот подход даст такой же результат что и первый способ. Можете посмотреть демо.

Конвертация числа в строку с помощью String

Четвертый способ – функция-конструктор String(). Функция принимает первым параметром число, которое необходимо конвертировать. После конвертации типа возвращается значение. Например:

const number = 10; console.log(number); // 10 console.log(typeof number); // "number" const numberStr = String(number); console.log(numberStr); // "10" console.log(typeof numberStr); // "string"

Если вывести лог в консоль значение переменной number и ее тип, там будет 10 и number. После конвертации в консоли будет 10 в виде строки и string cоответственно. Пример можно посмотреть в демо ниже.

Заключение

В уроке разобраны четыре способа, как конвертировать число в строку в JavaScript. Все методы могут давать одинаковый результат на числах. Однако бывают случаи, когда лучше применить один подход вместо других.

Основное отличие String() от toString() в том, что String() работает с undefined и null, а toString() нет. Поэтому для безопасности можете использовать String(), когда есть значение, содержащее число.

Интерполяцию и конкатенацию строк лучше всего применять, когда числа находятся внутри строки. В остальных случаях оба метода могут сделать код менее читаемым.

Автор: Dianne Pena

Источник: www.sitepoint.com

Редакция: Команда webformyself.

Читайте нас в Telegram, VK, Яндекс.Дзен