Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


От какого объекта в JavaScript в итоге наследуются все типы?

Откуда у строк появляются методы вроде toString()?

Почему 5.toString() не работает, но 5..toString() работает?

В каком порядке вызываются valueOf и toString?

  • Рейтинг:

    4

  • Сложность:

    6

Практически все объекты в JavaScript в итоге наследуются от Object.prototype. Это “базовый” объект в прототипной цепочке, где находятся общие методы (toString, hasOwnProperty и т.д.). Сам Object.prototype обычно наследуется от null, то есть это конец цепочки. Примитивы напрямую не объекты, но при обращении к методам часто временно “оборачиваются” в объект-обёртку.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

Строки — это примитивы, но при обращении к методу JavaScript временно оборачивает строку в объект String. Этот объект содержит методы, определённые в String.prototype. После вызова метода временный объект сразу удаляется. Поэтому методы у строк выглядят как “родные”, хотя сами строки объектами не являются.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    7

5.toString() не работает, потому что JavaScript воспринимает точку как часть числового литерала. В результате парсер “ждёт” дробную часть числа, а не вызов метода. Вариант 5..toString() работает, потому что первая точка завершает число, а вторая используется для доступа к методу. После этого число временно оборачивается в объект Number, и метод успешно вызывается.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    7

При приведении объекта к примитиву JavaScript сначала пытается вызвать valueOf, а если он не возвращает примитив, вызывает toString. Этот порядок применяется по умолчанию для числового контекста. Если результат всё ещё не примитив, выбрасывается ошибка. Поведение строго описано в спецификации.

Подробнее