Manipulacja obiektami w JavaScript - Object - JS
Sprawdzanie, czy obiekt jest zamrożony - isFrozen
Jak sprawdzić, czy obiekt jest zamrożony, tzn. nierozszerzalny, niekonfigurowalny i niezmienny?
(interpretuje: Internet Explorer 9, Firefox 4, Opera 12, Chrome 6)
Object.isFrozen(O)
- Parametry:
Object
O - obiekt- Wartość:
Boolean
- czy obiekt został zamrożony- Wyjątki:
TypeError
- wartość O nie jest obiektem
Sprawdza, czy podany obiekt został zamrożony, tzn. jest nierozszerzalny, a wszystkie jego właściwości są niekonfigurowalne i zablokowane przed zapisem [zobacz: Object.definePropert - configurable, writable].
Przykład Object.isFrozen
Object.isFrozen({}); // false Object.isFrozen(Object.seal({})); // true Object.isFrozen(Object.freeze({})); // true Object.isFrozen(Object.preventExtensions({})); // true var obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: false, configurable: false})); Object.isFrozen(obj); // true obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: true, configurable: false})); Object.isFrozen(obj); // false obj = Object.defineProperty({}, "x", {configurable: false}); Object.isFrozen(obj); // false obj = Object.preventExtensions(Object.defineProperty({}, "x", {configurable: true})); Object.isFrozen(obj); // false Object.isFrozen(true); // TypeError Object.isFrozen(1); // TypeError Object.isFrozen("test"); // TypeError Object.isFrozen(null); // TypeError