| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Cant_set_prototype | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Die JavaScript-Ausnahme "kann Prototyp dieses Objekts nicht setzen" tritt auf, wenn versucht wird, den Prototyp eines Objekts zu setzen, dessen Prototyp jedoch eingefroren ist. Dies kann der Fall sein, wenn es sich um ein eingebautes unvernderliches Prototypobjekt handelt oder wenn es nicht erweiterbar ist.
TypeError: Immutable prototype object 'Object.prototype' cannot have their prototype set (V8-based) TypeError: #<Object> is not extensible (V8-based) TypeError: can't set prototype of this object (Firefox) TypeError: Cannot set prototype of immutable prototype object (Safari) TypeError: Attempted to assign to readonly property. (Safari)
TypeError
Sie verwenden eine der Methoden zur Mutierung von Prototypen, insbesondere Object.setPrototypeOf(), auf einem Objekt, dessen Prototyp unvernderlich ist. Einige eingebaute Objekte haben aus Sicherheitsgrnden unvernderliche Prototypen, wie Object.prototype und window. Nutzerobjekte knnen auch verhindern, dass Prototypennderungen vorgenommen werden, indem sie Object.preventExtensions(), Object.seal(), oder Object.freeze() verwenden.
Einige wenige eingebaute Objekte haben unvernderliche Prototypen. Zum Beispiel knnen Sie den Prototyp von Object.prototype nicht ndern:
Object.setPrototypeOf(Object.prototype, {});
Dies verhindert, dass Sie das Verhalten aller Objekte im System beliebig ndern knnen. Der Prototyp von Object.prototype ist immer null. Andere eingebaute Prototypobjekte wie Function.prototype und Array.prototype sind jedoch standardmig in dieser Hinsicht nicht geschtzt.
Wenn Sie ein Objekt nicht erweiterbar machen, knnen Sie auch seinen Prototyp nicht ndern:
const obj = {};
Object.preventExtensions(obj);
Object.setPrototypeOf(obj, {});
// TypeError: can't set prototype of this object
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 |