Примітив

{{GlossarySidebar}}

У JavaScript примітив (примітивне значення, примітивний тип даних) – це дані, що не є об'єктом і не мають методів або властивостей. Існує 7 примітивних типів даних:

У більшості випадків примітивне значення представлене безпосередньо на найнижчому рівні реалізації мови.

Усі примітиви є беззмінними (імутабельними); тобто їх не можна змінити. Важливо не плутати сам примітив зі змінною, якій призначено примітивне значення. Змінній можна присвоїти нове значення, проте наявне значення не можна змінити так, як змінюють об'єкти, масиви та функції. Мова не надає засобів для зміни примітивних значень.

Примітиви не мають методів, але все одно поводяться так, ніби мають. Коли на примітиві відбувається звертання до властивості, JavaScript натомість автоматично запаковує значення в об'єкт-обгортку та звертається до властивості на ньому. Наприклад, "foo".includes("f") неявно створює об'єкт-обгортку String і викликає на цьому об'єкті String.prototype.includes(). Ця логіка автоматичного запаковування непомітна в коді JavaScript, проте є гарною ментальною моделлю для різної логіки – наприклад, того, чому "внесення змін" до примітивів не працює (тому що str.foo = 1 присвоює значення властивості foo, що належить саме об'єкту-обгортці, а не str).

Дивіться також