Объекты

JavaScriptКомментариев нет

В данном разделе будут перечислены встроенные свойства объектов.

valueOf и toString

Начнем с самых простых это valueOf и toString.

Для начала стоит сказать что в логическом смысле объекты все имеют значение true. При преобразовании объекта в строку или число не все так просто. У объектов есть для этого 2 метода: valueOf — при преобразовании объекта к числу и toString — для преобразовании к строке. У встроенных объектах зачастую метод  valueOf отсутствует. Если метод valueOf  отсутствует, срабатывает метод  toString.
В объектах созданных пользователем, если не указать один из методов по умолчанию будет возвращаться строка: «[object Object]».

Пример добавления свойств:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty — основной метод для управления свойствами объекта, который позволяет довольно тонко их настроить.

Аргументы:
obj — объект, в котором объявляется свойство.
prop — имя свойства, которое нужно объявить или модифицировать.
descriptor — дескриптор, объект который описывает поведение свойства.

В нём могут быть следующие поля:

  • value – значение свойства, по умолчанию undefined
  • writable – значение свойства можно менять, если true. По умолчанию false.
  • configurable – если true, то свойство можно удалять, а также менять его в дальнейшем при помощи новых вызовов defineProperty. По умолчанию false.
  • enumerable – если true, то свойство просматривается в цикле for..in и методе Object.keys(). По умолчанию false.
  • get – функция, которая возвращает значение свойства. По умолчанию undefined.
  • set – функция, которая записывает значение свойства. По умолчанию undefined.

Пример добавления свойства:

Пример добавление функции:

Object.defineProperties(obj, descriptors) — задаем несколько свойств, пример:

Статические методы в объектах

Статические функции и переменные можно использовать для всех экземпляром объектов созданные с помощью конструктора, более наглядно это демонстрирует пример:

Узнаем тип объекта(Array, Date, Object)

своя функция проверки типа:

Источник: https://learn.javascript.ru/descriptors-getters-setters


Будь первым кто прокомментирует статью.

Добавить комментарий

Войти с помощью: