Встречается на собеседованиях • сегодня

Почему вызываются методы на примитивных данных

В JavaScript примитивные значения (строки, числа, булевы) не являются объектами, но при попытке вызвать метод (например, 'str'.toUpperCase()) происходит автоматическая обёртка в соответствующий объект-обёртку (String, Number, Boolean). Этот процесс называется "боксинг" (boxing). После выполнения метода временный объект уничтожается.

Пример:

javascript
const str = 'hello';
console.log(str.toUpperCase()); // "HELLO"
// Под капотом:
// 1. Создаётся временный объект new String(str)
// 2. Вызывается метод toUpperCase()
// 3. Временный объект удаляется

Это позволяет работать с примитивами как с объектами, сохраняя их лёгковесность.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы