Объекты в JavaScript. Общие свойства и методы

Общие свойства и методы JavaScript

Все объекты JavaScript имеют общие свойства и методы, список которых приводится в таблице. Большинство из них полезны только в тех случаях, когда вы работаете с объектами, созданными для выполнения конкретной задачи, и, честно говоря, многие из этих свойств представляют интерес исключительно с точки зрения «продвинутой объектно-ориентированной акробатики».

Свойство Описание
Prototype Ссылка на объект, из которого наследуются свойства, не являющиеся свойствами экземпляра
Constructor Ссылка на функцию объекта, играющую роль конструктора этого объекта
toString() Преобразует объект в строку (объектно-зависимое поведение)
toLocaleString() Преобразует объекте локализованную строку (объектно-зависимое поведение)
valueOf () Преобразует объект в подходящий примитивный тип данных, обычно числовой
hasOwnProperty (СВОЙСТВО) Возвращает true, если объект имеет свойство экземпляра с именем, указанным значением свойство, иначе возвращает false
isPrototypeOf (объект) Возвращает true, если объект служит прототипом объекта, указанного значением объект
propertyIsEnumerable (свойство) Возвращает true, если свойство, указанное значением строки свойство, будет перечислено в цикле for/in

Два общих метода, на которые следует обратить внимание, — это toString() , преобразующий объект в примитивную строку, и valueOf(), преобразующий объект в самый подходящий примитивный тип (как правило, числовой). Эти методы автоматически вызываются при использовании объекта в соответствующем контексте. Рассмотрим, например,

Поскольку alert () требует строкового аргумента, интерпретатор «за кулисами» вызывает метод toString () объекта Date. Объект Date «знает», как преобразовать себя в строку, поэтому результатом будет следующее: MON Feb 7 22:15:40 UTS+0200 2005

Метод valueOf () работает аналогично. Когда нет смысла проводить сравнение ссылок, операции сравнения требуют наличия данных примитивных типов. Поэтому при использовании соответствующих операций с объектами, объекты преобразуются в подходящие примитивные формы:

Здесь сравнение вызывает методы valueOf () обоих объектов, чтобы можно было выполнить сравнение.     Метод valueOf () дает возможность сравнить два объекта с целью выяснения их равенства:

Этот программный код предложит ожидаемый результат: true

Чаще всего нет нужды беспокоиться о преобразовании соответствующих значений вручную. Однако информация о существовании инструментов наподобие valueOf () и toString () может оказаться полезной в тех случаях, когда обнаруживаются нежелательные преобразования типов или неподходящие сравнения, особенно при создании пользовательских объектов.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий