Apr 14, 2009

delete

The delete operator can be used to remove a property from an object. It will remove a property from the object if it has one. It will not touch any of the objects in the prototype linkage. Removing a property from an object may allow a property from the prototype linkage to shine through:
var stooge = {};
stooge.name = "fred";

if (typeof Object.beget !== 'function') {
    Object.beget = function(o) {
        var F = function() { };
        F.prototype = o;
        return new F();
    };
}
var another_stooge = Object.beget(stooge);
another_stooge.name = "jeff";
alert(another_stooge.name); //jeff
delete another_stooge.name;
alert(another_stooge.name); //fred