Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Метод Object.create() создаёт новый объект с указанным прототипом и свойствами.
Объект, который станет прототипом вновь созданного объекта.
propertiesObjectНеобязательный параметр. Если указан и не равен undefined, должен быть объектом, чьи собственные перечисляемые свойства (то есть такие, которые определены на самом объекте, а не унаследованы по цепочке прототипов) указывают дескрипторы свойств, добавляемых в новый объект. Имена добавляемых свойств совпадают с именами свойств в этом объекте. Эти свойства соответствуют второму аргументу метода Object.defineProperties().
Новый объект с заданным прототипом и свойствами
Выбрасывает исключение TypeError, если параметр proto не является null или объектом (исключение составляют объекты-обёртки примитивных типов).
Ниже показан пример использования Object.create() для имитации классического наследования. Это пример одиночного наследования, поскольку только его поддерживает JavaScript.
Если вы хотите наследоваться от нескольких объектов, то это возможно сделать при помощи примесей.
Функция примешивания должна копировать функции из прототипа суперкласса в прототип подкласса, она должна предоставляться пользователем. Примером примеси может служить функция jQuery.extend().
Для этого полифила необходима правильно работающая Object.prototype.hasOwnProperty.
| ECMAScript® 2027 Language Specification # sec-object.create |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 дек. 2024 г. by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.