Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. SyntaxError: Property-Name __proto__ erscheint mehr als einmal im Objektliteral

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

View in EnglishAlways switch to English

SyntaxError: Property-Name __proto__ erscheint mehr als einmal im Objektliteral

Der JavaScript-Ausnahmefehler "property name __proto__ appears more than once in object literal" tritt auf, wenn einObjektliteral mehrfach das Feld__proto__ enthält, das verwendet wird, umdas Prototyp-Objekt dieses neuen Objekts festzulegen.

Meldung

SyntaxError: Duplicate __proto__ fields are not allowed in object literals (V8-based)SyntaxError: property name __proto__ appears more than once in object literal (Firefox)SyntaxError: Attempted to redefine __proto__ property. (Safari)

Fehlertyp

SyntaxError

Was ist schiefgelaufen?

Der Schlüssel__proto__ ist im Gegensatz zu anderen Eigenschaftsschlüsseln eine spezielle Syntax in einem Objektliteral. Er wird verwendet, um das Prototyp-Objekt des erstellten Objekts festzulegen und darf in einem Objektliteral nicht mehr als einmal erscheinen. Beachten Sie, dass diese Einschränkung nur für die__proto__-Prototyp-Setter-Syntax gilt: Wenn sie tatsächlich die Wirkung hat, eine Eigenschaft mit dem Namen__proto__ zu erstellen, kann sie mehrfach auftreten. SiehePrototyp-Setter für die genauen Syntax-Einschränkungen.

Beachtenswert ist, dass der Schlüssel__proto__ in Objektliteralen eine spezielle Syntax ist und im Gegensatz zurObject.prototype.__proto__-Zugriffseigenschaft nicht veraltet ist.

Beispiele

Ungültige Fälle

js
const obj = { __proto__: {}, __proto__: { a: 1 } };

Gültige Fälle

js
// Only setting the prototype onceconst obj = { __proto__: { a: 1 } };// These syntaxes all create a property called "__proto__" and can coexist// They would overwrite each other and the last one is actually usedconst __proto__ = null;const obj2 = {  ["__proto__"]: {},  __proto__,  __proto__() {},  get __proto__() {    return 1;  },};

Siehe auch

Help improve MDN

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

[8]ページ先頭

©2009-2025 Movatter.jp