JavaScript. Подробное руководство, 6-е издание, стр. 437

Методы

<b>hasOwnProperty()</b>

Проверяет, имеет ли объект собственное (не унаследованное) свойство с указанным именем.

<b>isPrototypeOf()</b>

Проверяет, является ли данный объект прототипом для указанного объекта.

<b>propertyIsEnumerable()</b>

Проверяет, существует ли свойство с указанным именем и будет ли оно перечислено циклом for/in.

<b>toLocaleString()</b>

Возвращает локализованное строковое представление объекта. Реализация по умолчанию этого метода просто вызывает метод

<b>toString(),</b>
но подклассы могут переопределять его для выполнения локализации.

<b>toString()</b>

Возвращает строковое представление объекта. Реализация этого метода в классе Object является очень общей и возвращает немного полезной информации. Подклассы Object обычно переопределяют этот метод собственным методом toString(), возвращающим более полезный результат.

<b>valueOf()</b>

Возвращает элементарное значение объекта, если оно существует. Для объектов типа

<b>Object</b>
этот метод просто возвращает сам объект. Подклассы
<b>Object</b>
, такие как
<b>Number</b>
и
<b>Boolean</b>
, переопределяют этот метод, чтобы можно было получить элементарное значение, связанное с объектом.

Статические методы

В ECMAScript 5 конструктор

<b>Object</b>
служит пространством имен для следующих глобальных функций:

<b>Object.create()</b>

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

<b>Object.defineProperties()</b>

Создает или настраивает одно или более свойств в указанном объекте.

<b>Object.defineProperty()</b>

Создает или настраивает свойство в указанном объекте.

<b>Object.freeze()</b>

Делает указанный объект неизменяемым.

<b>Object.getOwnPropertyDescriptor()</b>

Возвращает атрибуты указанного свойства в указанном объекте.

<b>Object.getOwnPropertyNames()</b>

Возвращает массив имен всех неунаследованных свойств в указанном объекте, включая свойства, не перечисляемые циклом

<b>for/in</b>
.

<b>Object.getPrototypeOf()</b>

Возвращает прототип указанного объекта.

<b>Object.isExtensible()</b>

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

<b>Object.isFrozen()</b>

Определяет, является ли указанный объект фиксированным.

<b>Object.isSealed()</b>

Определяет, является ли указанный объект нерасширяемым, а его свойства недоступными для настройки.

<b>Object.keys()</b>

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

<b>Object.preventExtensions()</b>

Предотвращает возможность добавления новых свойств в указанный объект.

<b>Object.seal()</b>

Предотвращает возможность добавления новых и удаления существующих свойств в указанном объекте.

Описание

Класс

<b>Object</b>
- это встроенный тип данных языка JavaScript. Он играет роль надкласса для всех остальных JavaScript-объектов; следовательно, методы и поведение класса Object наследуются всеми остальными объектами. Об основных особенностях JavaScript-объектов рассказывается в главе 6.

В дополнение к показанному ранее конструктору

<b>Object()</b>
объекты могут создаваться и инициализироваться с помощью синтаксиса объектных литералов, описанного в разделе 6.1.

См. также

Array, Boolean, Function, Function.prototype, Number, String; глава 6

Object.constructor

функция-конструктор объекта

Синтаксис

<b>объект.constructor</b>

Описание

Свойство

<b>constructor</b>
любого объекта - это ссылка на функцию, являющуюся конструктором этого объекта. Например, если создать массив
<b>а</b>
с помощью конструктора
<b>Array(),</b>
то значением свойства
<b>a.constructor</b>
будет
<b>Array</b>
:

<b>а = new Array(1,2,3); // Создать объект</b>

<b>a.constructor == Array // Равно true</b>

Одно из распространенных применений свойства

<b>constructor</b>
состоит в определении типа неизвестных объектов. Оператор
<b>typeof</b>
позволяет определить, является ли неизвестный объект элементарным значением или объектом. Если это объект, то посредством свойства
<b>constructor</b>
можно определить тип этого объекта. Например, следующая функция позволяет узнать, является ли данное значение массивом:

<b>function isArray(x) {</b>

<b>  return ((typeof x == &quot;object&quot;) &amp;&amp; (x.constructor == Array));</b>

<b>}</b>

Однако следует отметить, что, хотя этот прием эффективен для объектов, встроенных в базовый JavaScript, его работа с объектами среды выполнения клиентского JavaScript, такими как объект

<b>Window</b>
, не гарантируется. Реализация по умолчанию метода
<b>Object.toString()</b>
представляет другой способ определения типа неизвестного объекта.

См. также

Object. toString()

Object.create() (ECMAScript 5)

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

Синтаксис

<b>Object.create(прототип)</b>

<b>Object.create (прототип, дескрипторы)</b>