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 март 2016 г..
Ключевое слово super используется для вызова функций, принадлежащих родителю объекта.
Выражения super.prop и super[expr] действительны в любом определении метода в классах и в литералах объекта.
В конструкторе ключевое слово super() используется как функция, вызывающая родительский конструктор. Её необходимо вызвать до первого обращения к ключевому слову this в теле конструктора. Ключевое слово super также может быть использовано для вызова функций родительского объекта.
Этот фрагмент кода взят из classes sample (демонстрация). В этом примере super() вызывается, чтобы не повторять части конструктора, одинаковые для классов Rectangle и Square.
Вы также можете вызывать super для статических методов.
Вы не можете использовать оператор delete и super.prop или super[expr] для удаления свойств родительского класса, он выдаст: ReferenceError.
При определении незаписываемых свойств с помощью, например, Object.defineProperty, super не может перезаписать значение свойства.
Super также можно использовать в объекте инициализатора / литерала. В этом примере метод определяют два объекта. Во втором объекте super вызывает метод первого объекта. Это работает благодаря Object.setPrototypeOf(), с помощью которого мы можем установить прототип для obj2 в obj1, так что super может найти method1 в obj1.
| ECMAScript® 2027 Language Specification # sec-super-keyword |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 6 янв. 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.