删除对象中的某个属性
delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。
var obj = {
bar: 1,
foo: 2,
baz: 3
};
obj.bar = undefined;
obj.foo = null;
delete obj.baz;
for(var i in obj) {
if (obj.hasOwnProperty(i)) {
console.log(i, '' + obj[i]);
}
}
当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。
var Employee = {};
Object.defineProperty(Employee, 'name', {configurable: false});
console.log(delete Employee.name); // returns false