[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Key_not_weakly_held [Back]  [Original]

TypeError: WeakSet-Schlssel/WeakMap-Wert 'x' muss ein Objekt oder ein nicht registriertes Symbol sein - JavaScript | MDN

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

View in English Always switch to English

TypeError: WeakSet-Schlssel/WeakMap-Wert 'x' muss ein Objekt oder ein nicht registriertes Symbol sein

Der JavaScript-Fehler "WeakSet-Schlssel (oder WeakMap-Wert) 'x' muss ein Objekt oder ein nicht registriertes Symbol sein" tritt auf, wenn ein Wert eines ungltigen Typs als Schlssel in einem WeakSet oder als Wert in einer WeakMap verwendet wird.

In diesem Artikel

Meldung

TypeError: Invalid value used as weak map key (V8-based)
TypeError: WeakMap key 1 must be an object or an unregistered symbol (Firefox)
TypeError: WeakMap keys must be objects or non-registered symbols (Safari)

TypeError: Invalid value used in weak set (V8-based)
TypeError: WeakSet value 1 must be an object or an unregistered symbol (Firefox)
TypeError: WeakSet values must be objects or non-registered symbols (Safari)

Fehlertyp

TypeError

Was ist schiefgelaufen?

WeakSet und WeakMap erfordern, dass die Schlssel Mll sammelbar sind. Nur Objekte und nicht registrierte Symbole (d.h. Symbole, die nicht von Symbol.for() zurckgegeben werden) sind gltig. Fr mehr Informationen siehe Speicherverwaltung. Wenn Sie Schlssel verwenden mchten, die Zeichenfolgen, Zahlen oder andere primitive Werte sind, sollten Sie sie stattdessen in einem regulren Set oder Map speichern.

Beispiele

Ungltige Flle

js
new WeakSet().add(1); // TypeError
new WeakMap().set(1, {}); // TypeError
new WeakSet([1]); // TypeError
new WeakMap([[1, {}]]); // TypeError

Gltige Flle

js
new WeakSet().add({}); // OK
new WeakMap().set({}, 1); // OK

new Set([1]); // OK
new Map([[1, {}]]); // OK

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page