Чтение онлайн

на главную - закладки

Жанры

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

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

Пример

var о = {}; // Создать новый объект

Object.isExtensible(o) // => true: он является расширяемым

Object.preventExtensions(o); // Сделать нерасширяемым

Object.isExtensible(o) // => false: теперь он нерасширяемый

См.

также

Object.isFrozen, Object.isSealed, Object.preventExtensions, раздел 6.8.3

Object.isFrOZen (ECMAScript 5)

объект является неизменяемым?

Синтаксис

Object.isFrozen(o)

Аргументы

о Проверяемый объект.

Возвращаемое значение

true, если объект о является зафиксированным и неизменяемым, и false - если нет.

Описание

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

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

Обычно фиксация объектов выполняется с помощью функции

Object.freeze.
Однако зафиксировать объект можно также с помощью функции
Object.preventExtensions
с последующим вызовом
Object.defineProperty,
чтобы сделать все свойства объекта неудаляемыми и доступными только для чтения.

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

См. также

Object.defineProperty, Object.freeze, Object.isExtensible, Object.isSealed, Object. preventExtensions, Object.seal, раздел 6.8.3

Object.isPrototypeOf

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

Синтаксис

объект.isPrototypeOf(о)

Аргументы

о Любой объект.

Возвращаемое значение

Возвращает true, если объект является прототипом объекта о. Возвращает false, если о не является объектом или если данный объект не является прототипом объекта о.

Описание

Как объяснялось в главе 9, объекты в языке JavaScript наследуют свойства от своих объектов-прототипов. К прототипу объекта можно обращаться с помощью свойства prototype функции-конструктора, которая использовалась

для создания и инициализации объекта. Метод
isPrototypeOf
позволяет определить, является ли один объект прототипом другого. Этот прием может применяться для определения класса объекта.

Пример

var о = new Object: // Создать объект

Object.prototype.isPrototypeOf(о) //true: о - объект

Function.prototype.isPrototypeOf(o.toString); // true: toString - функция

Array.prototype.isPrototypeOf([1,2,3]): // true: [1,2,3] - массив

// Ту же проверку можно выполнить другим способом

(о.constructor == Object): // true: о создан с помощью конструктора

Object (о.toString.constructor == Function): // true: о.toString - функция

// Объекты-прототипы сами имеют прототипы. Следующий вызов вернет true, показывая, что

// объекты-функции наследуют свойства от Function.prototype, а также от Object.prototype.

Object.prototype.isPrototypeOf(Function.prototype):

См. также

Function.prototype, Object.constructor; глава 9

Object.isSealed (ECMAScript 5)

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

Синтаксис

Object.isSealed(o)

Аргументы

о Проверяемый объект.

Возвращаемое значение

true, если объект о является нерасширяемым, с недоступными для настройки свойствами, и false - если нет.

Описание

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

Object.isSealed
проверяет, является ли ее аргумент нерасширяемым объектом, с недоступными для настройки свойствами, или нет. Недоступные для настройки свойства нельзя вновь сделать настраиваемыми. Обычно такие объекты получают с помощью функции
Object.seal
или
Object.freeze.
Однако того же эффекта можно добиться с помощью функции
Object.preventExtensions,
с последующим вызовом
Object.defineProperty,
чтобы сделать все свойства объекта неудаляемыми.

Поделиться:
Популярные книги

Дневники 1932-1947 гг

Бронтман Лазарь Константинович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Дневники 1932-1947 гг

Коммунизм как реальность

Зиновьев Александр Александрович
Документальная литература:
критика
публицистика
6.25
рейтинг книги
Коммунизм как реальность

Старая школа рул

Ромов Дмитрий
1. Второгодка
Фантастика:
альтернативная история
6.00
рейтинг книги
Старая школа рул

Ассасин

Мелан Вероника
1. Город
Фантастика:
фэнтези
8.54
рейтинг книги
Ассасин

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Враг из прошлого тысячелетия

Имперец. Том 4

Романов Михаил Яковлевич
3. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 4

Тринадцатый IV

NikL
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
6.25
рейтинг книги
Тринадцатый IV

Сын Петра. Том 1. Бесенок

Ланцов Михаил Алексеевич
1. Сын Петра
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Сын Петра. Том 1. Бесенок

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи

Делопроизводство для секретаря

Смирнова Елена Станиславовна
Деловая литература:
делопроизводство
6.25
рейтинг книги
Делопроизводство для секретаря

Андропов

Медведев Рой Александрович
982. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Андропов

Звезды: их рождение, жизнь и смерть

Шкловский Иосиф Самуилович
Научно-образовательная:
физика
астрономия и космос
6.25
рейтинг книги
Звезды: их рождение, жизнь и смерть

Эпоха Опустошителя. Том VII

Павлов Вел
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VII

Информация: сбор, защита, анализ. Учебник по информационно-аналитической работе

Кузнецов Игорь Николаевич
Научно-образовательная:
прочая научная литература
5.00
рейтинг книги
Информация: сбор, защита, анализ. Учебник по информационно-аналитической работе