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

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

Жанры

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,
чтобы сделать все свойства объекта неудаляемыми.

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

Старый, но крепкий 7

Крынов Макс
7. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 7

Полет аистов

Гранже Жан-Кристоф
Детективы:
триллеры
8.88
рейтинг книги
Полет аистов

Рядовой. Назад в СССР. Книга 1

Гаусс Максим
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Рядовой. Назад в СССР. Книга 1

Наследие Маозари 8

Панежин Евгений
8. Наследие Маозари
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 8

Граф

Первухин Андрей Евгеньевич
8. Ученик
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Граф

Глава рода

Шелег Дмитрий Витальевич
5. Живой лёд
Фантастика:
боевая фантастика
6.55
рейтинг книги
Глава рода

Я все еще барон

Дрейк Сириус
4. Дорогой барон!
Фантастика:
боевая фантастика
5.00
рейтинг книги
Я все еще барон

Второгодка. Книга 4. Подавать холодным

Ромов Дмитрий
4. Второгодка
Фантастика:
героическая фантастика
альтернативная история
сказочная фантастика
5.00
рейтинг книги
Второгодка. Книга 4. Подавать холодным

Абордажник

Султанов Дмитрий Игоревич
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
8.05
рейтинг книги
Абордажник

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Оружейникъ

Кулаков Алексей Иванович
2. Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Оружейникъ

Секретная история вампиров

Тертлдав Гарри Норман
Фантастика:
ужасы и мистика
альтернативная история
5.00
рейтинг книги
Секретная история вампиров

Аспирант

Поселягин Владимир Геннадьевич
3. Рунный маг
Фантастика:
боевая фантастика
4.50
рейтинг книги
Аспирант