Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Anweisungen und Deklarationen
  5. class

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

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 ⁨März 2017⁩.

Dieclass-Deklaration erstellt eineBindung einer neuenKlasse an einen gegebenen Namen.

Sie können Klassen auch mit demclass-Ausdruck definieren.

Probieren Sie es aus

class Polygon {  constructor(height, width) {    this.area = height * width;  }}console.log(new Polygon(4, 3).area);// Expected output: 12

Syntax

js
class name {  // class body}class name extends otherName {  // class body}

Beschreibung

Der Klassenrumpf einer Klassendeklaration wird imStrict Mode ausgeführt. Dieclass-Deklaration ist derlet-Deklaration sehr ähnlich:

  • class-Deklarationen sind sowohl auf Blöcke als auch auf Funktionen beschränkt.
  • class-Deklarationen können erst nach Erreichen des Deklarationsorts zugegriffen werden (siehetemporäre tote Zone). Aus diesem Grund werdenclass-Deklarationen allgemein alsnicht-gehoisted angesehen (im Gegensatz zuFunktionsdeklarationen).
  • class-Deklarationen erzeugen keine Eigenschaften aufglobalThis, wenn sie auf oberster Ebene eines Skripts deklariert werden (im Gegensatz zuFunktionsdeklarationen).
  • class-Deklarationen können nicht durch irgendeine andere Deklaration im selben Bereichneu deklariert werden.

Außerhalb des Klassenkörpers könnenclass-Deklarationen wielet neu zugewiesen werden, aber Sie sollten dies vermeiden. Innerhalb des Klassenkörpers ist die Bindung konstant wieconst.

js
class Foo {  static {    Foo = 1; // TypeError: Assignment to constant variable.  }}class Foo2 {  bar = (Foo2 = 1); // TypeError: Assignment to constant variable.}class Foo3 {}Foo3 = 1;console.log(Foo3); // 1

Beispiele

Eine Klassendeklaration

Im folgenden Beispiel definieren wir zuerst eine Klasse namensRectangle und erweitern sie dann, um eine Klasse namensFilledRectangle zu erstellen.

Beachten Sie, dasssuper(), das imKonstruktor verwendet wird, nur in Konstruktoren verwendet werden kann undmuss aufgerufen werden,bevor das Schlüsselwortthis verwendet werden kann.

js
class Rectangle {  constructor(height, width) {    this.name = "Rectangle";    this.height = height;    this.width = width;  }}class FilledRectangle extends Rectangle {  constructor(height, width, color) {    super(height, width);    this.name = "Filled rectangle";    this.color = color;  }}

Spezifikationen

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

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp