15.2.3.12 Object.isFrozen(O)

2010-07-04

boolean Object.isFrozen(O:object)

An object is "frozen" if all of its properties have the [[Configurable]] and [[Writable]] attributes set to false and O has [[Extensible]] set to false.

Code: (Meta Ecma)
Object.isFrozen = function(O){
if (Type(O) != 'Object') throw TypeError;
for (P in O) {
var desc = O.[[GetOwnProperty]](P);
if (IsDataDescriptor(desc) && desc.[[Writable]]) return false;
if (desc.[[Configurable]]) return false;
}
return !O.[[Extensible]];
}