对象中 delete 的使用

177 阅读1分钟

使用 Object.create 创建的 foo:'foo' 是在原型上的

其中 delete 删除的是元素的 ownProperty

(function() {
	let objA = Object.create({
		foo: 'foo'
	});
	let objB = objA;
        // objA = objB = {}; 但原型链上有一个 foo: 'foo'
	objB.foo = 'bar';
        // objA = objB = {foo: 'bar'};

	delete objA.foo;
        // objA = objB = {}; 但原型链上仍有 foo: 'foo'
	console.log(objA.foo);  // foo
	console.log(objB.foo);  // foo
}());