#вопросы_с_собеседований
Что такое объектная обертка (Wrapper Objects)?
Примитивы строка, число и boolean имеют свойства и методы, несмотря на то, что они не являются объектами:
Причина такого поведения заключается в том, что name временно преобразуется в объект. У каждого примитива, кроме
Что такое объектная обертка (Wrapper Objects)?
Примитивы строка, число и boolean имеют свойства и методы, несмотря на то, что они не являются объектами:
let name = 'vasya'
console.log(typeof name) // string
console.log(name.toUpperCase()) // VASYA
name
— это строка (примитивный тип), у которого нет свойств и методов, но когда мы вызываем метод toUpperCase(), это приводит не к ошибке, а к «VASYA».Причина такого поведения заключается в том, что name временно преобразуется в объект. У каждого примитива, кроме
null
и undefined
, есть объект-обертка. Такими объектами являются String, Number, Boolean, Symbol и BigInt. В нашем случае код принимает вид:console.log(new String(name).toUpperCase()) // VASYAВременный объект отбрасывается по завершении работы со свойством или методом.