В JavaScript примитивные типы (числа, строки и булевы значения) также могут иметь методы. Когда мы вызываем метод на примитиве, JavaScript автоматически оборачивает примитив в объект, чтобы вызвать соответствующий метод.
let str = 'Hello';
console.log(str.toUpperCase()); // HELLO
console.log(str.length); // 5
В приведенном примере строка str
является примитивом. Методы toUpperCase()
и length
вызываются на этой строке, и JavaScript автоматически создает временный объект типа String
, чтобы обернуть примитив, и вызывает соответствующие методы на этом объекте.
Автоматическое оборачивание примитивов работает для всех примитивов, кроме значения null
и undefined
. Если мы попытаемся вызвать метод на этих значениях, будет сгенерирована ошибка.