Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Инструкции и объявления
  5. class

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

class

Baseline Widely available

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 не позволяет снова объявить уже существующий класс, этоприведёт к ошибке типа.

Синтаксис

js
class name [extends] {  // тело класса}

Описание

Как и class expression, тело class declaration будет исполняться встрогом режиме. Свойство конструктора является опциональным.

Class declaration неподнимается (в отличие отдекларируемых функций).

Примеры

Простой class declaration

В следующем примере сначала определяется класс с именем Polygon, затем он наследуется для создания класса Square. Заметьте, что super(), используемый в конструкторе, может быть использован только в конструкторе и должен быть вызван до того, как будет использовано ключевое слово this.

js
class Polygon {  constructor(height, width) {    this.name = "Polygon";    this.height = height;    this.width = width;  }}class Square extends Polygon {  constructor(length) {    super(length, length);    this.name = "Square";  }}

Предупреждение:Попытка объявить класс дваждыПереопределение класса с помощью class declaration вызовет ошибку типа.js class Foo {}; class Foo {}; // Uncaught TypeError: Identifier 'Foo' has already been declared Та же ошибка будет вызвана, если класс был определён перед использованием class declaration.

js
var Foo = class {};class Foo {} // Uncaught TypeError: Identifier 'Foo' has already been declared

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-class-definitions

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp