Skip to main content
Практика завдань

Боксинг та анбоксинг у JavaScript

Боксинг та Розбоксинг — це процеси автоматичної конверсії примітивних типів даних в об'єктні обгортки і назад. Ці процеси відбуваються неявно в JavaScript, коли ви працюєте з методами та властивостями примітивів.


Що таке Боксинг?

Боксинг — це обгортання примітиву в об'єкт, щоб ви могли використовувати методи та пропси об'єкта.

Наприклад, рядок str = "hello" є примітивом. Але ви все ще можете викликати метод str.toUpperCase():

javascript
const str = "hello"; console.log(str.toUpperCase()); // "HELLO"

Як це працює?

Під капотом відбувається наступне:

javascript
const str = "hello"; const temp = new String(str); // Боксинг: примітив → об'єкт String console.log(temp.toUpperCase()); // викликається метод об'єкта // temp видаляється, результат повертається

Те ж саме працює для Number, Boolean, Symbol та інших примітивів:

javascript
const num = 42; console.log(num.toFixed(2)); // "42.00" — примітив перетворюється в об'єкт Number

Що таке Розбоксинг?

Розбоксинг — це зворотний процес: витягування примітивного значення з об'єктної обгортки.

Приклад:

javascript
const numObj = new Number(123); // об'єкт const primitive = numObj.valueOf(); // Розбоксинг console.log(typeof primitive); // "number"

Метод valueOf() використовується JavaScript-движком для отримання чистого примітивного значення з об'єктної обгортки.

Типи об'єктних обгорток

ПримітивОб'єктна обгортка
stringString
numberNumber
booleanBoolean
symbolSymbol
bigintBigInt

Підсумок:

Боксинг і Розбоксинг відбуваються автоматично в JavaScript. Вам не потрібно вручну конвертувати примітиви в об'єкти — JavaScript робить це за вас, коли це необхідно.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань