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