Методы Object в Javascript

Методы Object в Javascript

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы говорили про объекты в Javascript. В данной статье я бы хотел продолжить эту тему и поговорить про свойства и методы типа данных Object в Javascript. У объекта значением свойства может быть любой тип данных, за исключением функций. Методом объекта может быть только функция (напоминаю, что функция в javascript также является типом данных). Встроенных свойств у типа данных Object нет. Методы этого типа данных наследуют все остальные встроенные в JavaScript типы данных.

Название Аргументы Что делает и что возвращает
valueOf() - Возвращает элементарное значение
toString() - Возвращает строковое значение
hasOwnProperty(s) s – название свойства или метода Возвращает логическое значение true, если свойство или метод не унаследованы false, если свойства или метода с таким именем нет, или они были унаследованы
toLocaleString() - Возвращает строковое значение в местном (локальном) формате
isPrototypeOf(o) o – ссылка на объект Возвращает логическое значение true, если объект является прототипом для указанного объекта o false, если это не так
propertyIsEnumerable(s) s – название свойства или метода Возвращает логическое значение true, если свойство или метод может быть перечислен с помощью инструкции for/in false, если свойства или метода с таким именем нет, или они были унаследованы

Эти методы наследуются всеми классами-конструкторами (другими словами "Number()", "String()", "Array()" и т.д. наследуют все эти методы), и присутствуют у любого экземпляра любого типа данных. Пример:

var a = new Number(5);
alert(a.valueOf()); // выйдет 5

Методы "valueOf()" и "toString()" вызываются автоматически при работе с разными типами данных и зависят от контекста. Пара примеров:

alert('12' + 10); // выйдет 1210, был неявно вызван ToString() у '10'
alert('12' - 10); // выйдет 2, был неявно вызван valueOf() у '12'

Метод "toLocaleString()" применяется в основном для вывода данных, использующих локальные настройки, например, даты.

Метод "isPrototypeOf()" используется крайне редко для определения факта принадлежности объекта к прототипу другого объекта. На практике проверка типа данных осуществляется с помощью оператора "instanceOf" или свойства "constructor" у типа данных. О прототипах будет рассказано в одной из следующих статей.

Методы "propertyIsEnumerable()" и "hasOwnProperty()" предназначены для проверки возможности перечисления свойств и методов объекта. Унаследованные методы и свойства не могут быть перечислены – только те свойства и методы, которые были созданы напрямую для объекта. Приведу пример:

var room = {
   square : 20
}
alert(room.propertyIsEnumerable('square')); // выведет true
alert(room.hasOwnProperty('square')); // выведет true
//А теперь, забегая вперёд, добавим свойство windows в прототип Object
Object.prototype.windows = 2;
alert(room.propertyIsEnumerable('windows')); // выведет false
alert(room.hasOwnProperty('windows')); // выведет false

В данной статье вы узнали про свойства и методы Object в Javascript.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *