MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Die Methode Object.isExtensible() bestimmt, ob ein Objekt erweiterbar ist. Das heißt, es können dem Objekt neue Eigenschaften hinzugefügt werden.

Syntax

Object.isExtensible(obj)

Parameter

obj
Das Objekt, das überprüft werden soll.

Rückgabewert

Ein Boolean, der angibt, ob das übergebene Objekt erweiterbar ist.

Beschreibung

Standardmäßig sind Objekte erweiterbar: Es ist möglich, ihnen neue Eigenschaften zuzuweisen und sie dadurch zu verändern. In Engines, die __proto__ unterstützen, kann auch deren __proto__ Eigenschaft geändert werden. Ein Objekt kann mittels Object.preventExtensions(), Object.seal() oder Object.freeze() explizit als nicht-erweiterbar markiert werden.

Beispiele

// Neue Objekte sind erweiterbar.
var empty = {};
Object.isExtensible(empty); // === true

// ...aber das kann sich ändern.
Object.preventExtensions(empty);
Object.isExtensible(empty); // === false

// Versiegelte Objekte sind per Definition nicht erweiterbar.
var sealed = Object.seal({});
Object.isExtensible(sealed); // === false

// Eingefrorene Objekte sind ebenfalls per Definition nicht erweiterbar.
var frozen = Object.freeze({});
Object.isExtensible(frozen); // === false

Anmerkungen

In ES5 muss das Argument der Methode ein echtes Objekt sein. Ist dies nicht der Fall, wird ein TypeError geworfen. In ES2015 hingegen wird ein Nicht-Objekt einfach als nicht-erweiterbares Objekt behandelt, sodass von der Methode false zurückgegeben wird.

Object.isExtensible(1);
// TypeError: 1 is not an object (ES5 code)

Object.isExtensible(1);
// false                         (ES2015 code)

Spezifikationen

Specification Status Comment
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Object.isExtensible' in dieser Spezifikation.
Standard Initial definition. Implemented in JavaScript 1.8.5.
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Object.isExtensible' in dieser Spezifikation.
Standard  
ECMAScript 2017 Draft (ECMA-262)
Die Definition von 'Object.isExtensible' in dieser Spezifikation.
Entwurf  

Browser-Kompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 6 4.0 (2.0) 9 12 5.1
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? ? ? ? ?

Zusätzliches Material

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: dthdyver
 Zuletzt aktualisiert von: dthdyver,