Объекты-обёртки типов в 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 - Невозможно знать всё, но стремиться к этому обязан каждый. Это залог профессионализма и успеха в любой из областей.