Веб-версияОткрыть в Telegram

Пост🤔 Как происходит tostring?

10 сентября 2026
F
Frontend | Вопросы собесов
🤔 Как происходит tostring? Метод .toString() используется для преобразования значения в строку. Он есть у всех объектов в JavaScript, потому что наследуется от Object.prototype. Однако, его поведение зависит от типа данных. 🟠toString() у примитивов Числа, строки, булевы значения, null, undefined Для примитивных типов toString() работает просто — возвращает строковое представление значения: console.log((123).toString()); // "123" console.log(true.toString()); // "true" console.log(false.toString()); // "false" console.log((3.14).toString()); // "3.14" Но null и undefined не имеют метода toString() и вызов приведёт к ошибке console.log(null.toString()); // ❌ Ошибка: Cannot read properties of null console.log(undefined.toString()); // ❌ Ошибка Поэтому для них лучше использовать String() console.log(String(null)); // "null" console.log(String(undefined)); // "undefined" 🟠toString() у массивов Для массивов toString() преобразует их в строку, разделяя элементы запятой console.log([1, 2, 3].toString()); // "1,2,3" console.log(["яблоко", "банан"].toString()); // "яблоко,банан" console.log([].toString()); // "" (пустая строка) 🟠`toString()` у объектов По умолчанию метод toString() у объекта возвращает строку вида [object Object] const obj = { a: 1, b: 2 }; console.log(obj.toString()); // "[object Object]" Если нужно другое поведение, можно переопределить toString() в объекте const user = { name: "Иван", age: 30, toString() { return `Имя: ${this.name}, Возраст: ${this.age}`; } }; console.log(user.toString()); // "Имя: Иван, Возраст: 30" 🟠`toString()` у классов Можно переопределять метод toString() в классах class Person { constructor(name, age) { this.name = name; this.age = age; } toString() { return `${this.name} (${this.age} лет)`; } } const person = new Person("Анна", 25); console.log(person.toString()); // "Анна (25 лет)" 🟠`toString()` у функций Функции тоже имеют метод toString(), но он возвращает их исходный код function hello() { return "Привет!"; } console.log(hello.toString()); // "function hello() { return 'Привет!'; }" Для стрелочных функций const sum = (a, b) => a + b; console.log(sum.toString()); // "(a, b) => a + b" 🟠Использование `String()` вместо `.toString()` Лучше использовать String(значение), потому что toString() не работает на null и undefined console.log(String(null)); // "null" console.log(String(undefined)); // "undefined" console.log(String(42)); // "42" console.log(String({ a: 1 })); // "[object Object]" Ставь 👍 и забирай 📚 Базу знаний
6 · 1.3K ·

Рядом в ленте

FFrontend | Вопросы собесов🤔 Как работает React? Это библиотека для построения пользовательских интерфейсов, основанная на компонентной архитектуре. Она использует Virtual DOM для оптимизFFrontend | Вопросы собесов🤔 Где писать запросы к серверу? Запросы к серверу в React можно выполнять в нескольких местах в зависимости от архитектуры вашего приложения и используемого под
это сообщение
FFrontend | Вопросы собесов🤔 В чём разница между макро- и микро-задачами? Макро-задачи (например, setTimeout, setInterval) выполняются в основном цикле событий после выполнения текущего сFFrontend | Вопросы собесов🤔 Зачем нужен eslint? ESLint – это инструмент для автоматического анализа и исправления кода в JavaScript и TypeScript. Он помогает разработчикам следовать един
FFrontend | Вопросы собесовFrontend | Вопросы собесов@easy_javascript_ru · канал · Технологии
17 625подписчиков1 139средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем