| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Key_not_weakly_held | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
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.
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)
TypeError
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.
new WeakSet().add(1); // TypeError
new WeakMap().set(1, {}); // TypeError
new WeakSet([1]); // TypeError
new WeakMap([[1, {}]]); // TypeError
new WeakSet().add({}); // OK
new WeakMap().set({}, 1); // OK
new Set([1]); // OK
new Map([[1, {}]]); // OK
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |