Matthew Murdoch Matthew Murdoch - 1 year ago 103
Javascript Question

Is there any way to prevent replacement of JavaScript object properties?

I would like to make an object's structure immutable, preventing its properties from being subsequently replaced. The properties need to be readable, however. Is this possible?

I'm sure there are no language features (along the lines of

in Java and
in C#) to support this but wondered whether there might be another mechanism for achieving the same result?

I'm looking for something along these lines:

var o = {
a: "a",
f: function () {
return "b";

var p = o.a; // OK
o.a = "b"; // Error
var q = o.f(); // OK
o.f = function () { // Error
return "c";

Answer Source

ECMAScript 5 will have seal() and freeze(), but there's no good way to do this with current JavaScript implementations.


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download