Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. SyntaxError: Verwendung von Super-Eigenschafts-/Mitgliedszugriffen nur in Methoden oder eval-Code innerhalb von Methoden zulässig

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

View in EnglishAlways switch to English

SyntaxError: Verwendung von Super-Eigenschafts-/Mitgliedszugriffen nur in Methoden oder eval-Code innerhalb von Methoden zulässig

Der JavaScript-Fehler "Verwendung von Super-Eigenschafts-/Mitgliedszugriffen nur in Methoden oder eval-Code innerhalb von Methoden zulässig" tritt auf, wenn die Syntaxsuper.x odersuper[x] außerhalb einerMethode verwendet wird.

Meldung

SyntaxError: 'super' keyword unexpected here (V8-based)SyntaxError: use of super property accesses only valid within methods or eval code within methods (Firefox)SyntaxError: super is not valid in this context. (Safari)

Fehlerart

SyntaxError

Was ist schiefgelaufen?

Die Syntaxsuper.x wird verwendet, um auf Eigenschaften im Prototyp des aktuellen Objekts zuzugreifen. Sie kann in Methoden sowohl vonObjektliteralen als auch vonKlassen,Feldinitialisierern undstatischen Initialisierungsblöcken verwendet werden, aber nicht in anderen Kontexten.

Beispiele

Ungültige Fälle

Sie könnensuper.x nicht außerhalb einer Methode in einem Objekt verwenden:

js
const obj = {  __proto__: { x: 1 },  x: super.x, // SyntaxError: use of super property accesses only valid within methods or eval code within methods};

Sie könnensuper.x nicht in einer Funktion verwenden, selbst wenn diese Funktion die Wirkung hat, eine Methode zu sein:

js
function getX() {  return super.x; // SyntaxError: use of super property accesses only valid within methods or eval code within methods}const obj = {  getX,  getX2: function () {    return super.x; // SyntaxError: use of super property accesses only valid within methods or eval code within methods  },};class Derived extends Base {  getX = () => super.x;}

Gültige Fälle

Sie könnensuper.x in einer Methode verwenden:

js
class Base {  x = 1;}class Derived extends Base {  getX() {    return super.x;  }}

Sie könnensuper.x in einem Feldinitialisierer verwenden:

js
class Derived extends Base {  x = super.x;}

Sie könnensuper.x auch in Objektmethoden verwenden:

js
const obj = {  __proto__: { x: 1 },  getX() {    return super.x;  },};

Siehe auch

Help improve MDN

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

[8]ページ先頭

©2009-2025 Movatter.jp