Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Ausdrücke und Operatoren
  5. class expression

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

View in EnglishAlways switch to English

class expression

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 2016⁩.

Dasclass Schlüsselwort kann verwendet werden, um eine Klasse innerhalb eines Ausdrucks zu definieren.

Sie können Klassen auch mithilfe derclass Deklaration definieren.

Probieren Sie es aus

const Rectangle = class {  constructor(height, width) {    this.height = height;    this.width = width;  }  area() {    return this.height * this.width;  }};console.log(new Rectangle(5, 8).area());// Expected output: 40

Syntax

js
class {  // class body}class name {  // class body}

Hinweis:EineAusdrucksanweisung kann nicht mit dem Schlüsselwortclass beginnen, um Mehrdeutigkeiten mit einerclass Deklaration zu vermeiden. Dasclass Schlüsselwort beginnt nur dann einen Ausdruck, wenn es in einem Kontext erscheint, der keine Anweisungen akzeptieren kann.

Beschreibung

Einclass Ausdruck ist demclass Deklaration sehr ähnlich und hat fast die gleiche Syntax. Wie beiclass Deklarationen wird der Körper einesclass Ausdrucks imStrict-Modus ausgeführt. Der Hauptunterschied zwischen einemclass Ausdruck und einerclass Deklaration ist derKlassenname, der inclass Ausdrücken weggelassen werden kann, umanonyme Klassen zu erstellen. Klassen-Ausdrücke erlauben Ihnen, Klassen neu zu definieren, während das erneute Deklarieren einer Klasse mitclass Deklarationen einenSyntaxError auslöst. Siehe auch das Kapitel überKlassen für weitere Informationen.

Beispiele

Ein einfacher Klassen-Ausdruck

Dies ist nur ein anonymer Klassen-Ausdruck, auf den Sie mit der VariablenFoo verweisen können.

js
const Foo = class {  constructor() {}  bar() {    return "Hello World!";  }};const instance = new Foo();instance.bar(); // "Hello World!"Foo.name; // "Foo"

Benannte Klassen-Ausdrücke

Wenn Sie innerhalb des Klassenkörpers auf die aktuelle Klasse verweisen möchten, können Sie einenbenannten Klassen-Ausdruck erstellen. Der Name ist nur innerhalb des Geltungsbereichs des Klassen-Ausdrucks selbst sichtbar.

js
const Foo = class NamedFoo {  constructor() {}  whoIsThere() {    return NamedFoo.name;  }};const bar = new Foo();bar.whoIsThere(); // "NamedFoo"NamedFoo.name; // ReferenceError: NamedFoo is not definedFoo.name; // "NamedFoo"

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