В 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(). Выбор метода зависит от задачи и необходимого формата строки.