Przejdź do treści

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

Komentarze

Zobacz więcej komentarzy

Facebook