В JavaScript часто возникает необходимость преобразовать число, массив или объект в строку. Это требуется при выводе данных, передаче информации в JSON, сохранении в localStorage
или формировании URL. Для этого в языке есть несколько методов, каждый из которых подходит для определенных случаев.
Преобразование числа в строку
toString — стандартное преобразование числа
Метод toString()
позволяет перевести число в строку.
const num = 123;
console.log(num.toString()); // '123'
Также можно указать систему счисления:
console.log(num.toString(2)); // '1111011' (двоичное представление)
String — приведение к строке
Функция String()
также преобразует число в строку.
const num = 456;
console.log(String(num)); // '456'
Конкатенация с пустой строкой
Самый простой способ — сложить число с пустой строкой:
const num = 789;
console.log(num + ''); // '789'
Преобразование массива в строку
join — объединение элементов массива
Метод join()
позволяет превратить массив в строку, используя разделитель.
const arr = [1, 2, 3, 4];
console.log(arr.join('-')); // '1-2-3-4'
Без аргумента используется запятая:
console.log(arr.join()); // '1,2,3,4'
toString — преобразование массива
Метод toString()
работает аналогично join()
, но всегда использует запятую.
console.log(arr.toString()); // '1,2,3,4'
JSON.stringify — сериализация массива
JSON.stringify()
создаёт строку в формате JSON.
console.log(JSON.stringify(arr)); // '[1,2,3,4]'
Преобразование объекта в строку
JSON.stringify — сериализация объекта
Для объектов метод JSON.stringify()
является основным способом превращения в строку.
const user = { name: 'Alice', age: 25 };
console.log(JSON.stringify(user)); // '{"name":"Alice","age":25}'
toString — стандартное преобразование
Встроенный toString()
для объектов обычно возвращает [object Object]
, что не очень полезно.
console.log(user.toString()); // '[object Object]'
Object.entries + map + join — кастомное преобразование
Если нужно получить строку с ключами и значениями объекта:
const obj = { name: 'Alice', age: 25 };
const str = Object.entries(obj).map(([key, value]) => `${key}: ${value}`).join(', ');
console.log(str); // 'name: Alice, age: 25'
Выбор метода
Тип данных | Метод преобразования | Результат |
---|---|---|
Число | num.toString() | '123' |
Число | String(num) | '123' |
Число | num + '' | '123' |
Массив | arr.join('-') | '1-2-3' |
Массив | arr.toString() | '1,2,3' |
Массив | JSON.stringify(arr) | '[1,2,3]' |
Объект | JSON.stringify(obj) | '{"name":"Alice","age":25}' |
Объект | Object.entries(obj).map(...).join() | 'name: Alice, age: 25' |
Преобразование числа, массива и объекта в строку в JavaScript — частая операция при работе с текстовыми данными. Для чисел подходят toString()
и String()
, для массивов — join()
и toString()
, а для объектов — JSON.stringify()
. Выбор метода зависит от задачи и необходимого формата строки.