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 март 2017 г..
Class declaration создаёт новый класс с данным именем на основе прототипного наследования.
Можно так же определить класс, используя class expression. Но в отличие от class expression, class declaration не позволяет снова объявить уже существующий класс, это приведёт к ошибке типа.
Как и class expression, тело class declaration будет исполняться в строгом режиме. Свойство конструктора является опциональным.
Class declaration не поднимается (в отличие от декларируемых функций).
В следующем примере сначала определяется класс с именем Polygon, затем он наследуется для создания класса Square. Заметьте, что super(), используемый в конструкторе, может быть использован только в конструкторе и должен быть вызван до того, как будет использовано ключевое слово this.
Предупреждение: Попытка объявить класс дваждыПереопределение класса с помощью class declaration вызовет ошибку типа. js class Foo {}; class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared Та же ошибка будет вызвана, если класс был определён перед использованием class declaration.
| ECMAScript® 2027 Language Specification # sec-class-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 11 авг. 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.