Объекты-обёртки типов в JavaScript

Объекты-обёртки типов в JavaScript

@honey_and_money

Начнем с того, что разберемся - а что вообще такое объект в JS?

Объект это набор свойств, которые применимы к определенному элементу. Объект-обёртка - тоже набор свойств, но они уже применимы к определенному типу, а не элементу.

Да, определение довольно широкое, но сейчас мы всё разберем на примере, и станет понятнее.

Напишем такой код в JS-файле:

Тут я объявил так называемый объект-обёртку для типа число. Сначала как обычно указал var и имя переменной - N. Потом через равно используется ключевое слово new - оно и используется для создания новых объектов. Далее идёт Number(...) - это конструктор объектов. (Соответственно Number - число, обозначает тип объекта обёртки). Имена конструкторов принято писать с большой буквы.

Итак, что мы получили в итоге?

По сути это обычное число 4000, по отношению к которому можно производить любые арифметические операции и тому подобное.

Давайте еще для сравнения создадим переменную типа число:

И попробуем сложить наш объект-обёртку и число:

Результат в консоли:

Всё так, как я и писал - объект-обёртка ведет себя точно так же как и число (имеется ввиду объект-обёртка для типа число).

Но давайте посмотрим типы наших переменных с помощью операции, которую мы рассмотрели в одной из предыдущих статей:

Вывод в консоли такой:

Получается различия всё же есть. N - объект, n - число

Но в чём смысл тогда? Раз ведут эти две переменные себя одинаково, то зачем нужен этот объект? Как я уже писал выше - объект это набор свойств. То есть мы с нашим объектом-оберткой можем производить такие операции, которые не можем произвести с обычным числом.

Применяемые операции пишутся в таком виде:

<Имя объекта>.<применяемое свойство>

Рассмотрим несколько примеров:

На восьмой строке я вывожу в консоль наш объект с примененным к нему свойством toFixed() - это свойство делает из нашего целого числа число с фиксированной дробной частью (в скобках передается количество знаков после точки - длина дробной части)

В консоли вы должны увидеть следующее:

Последнее выведенное число - наше исходное, но еще и с дробной частью (с двумя цифрами после точки)

Ну и второй пример:

На девятой строке я привожу наше число к записи в экспоненциальной форме (через e).

В консоли будет так:

(4e+3 = 4 * 10^3 = 4000)


Итак, сегодня мы познакомились с объектами-обёртками и вообще объектами в целом. Я писал, что с объектами-обёртками мы можем делать то, что не можем делать с обычными числами. Это не совсем так. Если вы примените приведенные выше свойства к обычным числам, то тоже получите верный результат и всё будет работать. Почему так происходит расскажу в следующей статье. На сегодня у вас задача усвоить эту статью.


@honey_and_money - Невозможно знать всё, но стремиться к этому обязан каждый. Это залог профессионализма и успеха в любой из областей.

Report Page