Przejdź do treści

Sprawdzanie, czy obiekt jest opieczętowany - isSealed

Jak sprawdzić, czy obiekt jest opieczętowany, tzn. nierozszerzalny i niekonfigurowalny?

(interpretuje: Internet Explorer 9, Firefox 4, Opera 12, Chrome 6)

Object.isSealed(O)
Parametry:
Object O - obiekt
Wartość:
Boolean - czy obiekt został opieczętowany
Wyjątki:
TypeError - wartość O nie jest obiektem

Sprawdza, czy podany obiekt został opieczętowany, tzn. jest nierozszerzalny, a wszystkie jego właściwości są niekonfigurowalne [zobacz: Object.definePropert - configurable].

Przykład Object.isSealed

Object.isSealed({});                           // false
Object.isSealed(Object.seal({}));              // true
Object.isSealed(Object.freeze({}));            // true
Object.isSealed(Object.preventExtensions({})); // true
var obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: false, configurable: false}));
Object.isSealed(obj);                          // true
obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: true, configurable: false}));
Object.isSealed(obj);                          // true
obj = Object.defineProperty({}, "x", {configurable: false});
Object.isSealed(obj);                          // false
obj = Object.preventExtensions(Object.defineProperty({}, "x", {configurable: true}));
Object.isSealed(obj);                          // false
 
Object.isSealed(true);                         // TypeError
Object.isSealed(1);                            // TypeError
Object.isSealed("test");                       // TypeError
Object.isSealed(null);                         // TypeError

Komentarze

Zobacz więcej komentarzy

Facebook