Skip to content

以下哪一项会对对象 person 有副作用?

javascript
const person = {
	name: "Lydia Hallie",
	address: {
		street: "100 Main St"
	}
};

Object.freeze(person);

A. person.name = "Evan Bacon" B. delete person.address C. person.address.street = "101 Main St" D. person.pet =

答案: C

解析:

使用方法 Object.freeze 对一个对象进行 冻结。不能对属性进行添加,修改,删除。 然而,它仅 对对象进行 冻结,意味着只有 对象中的 直接 属性被冻结。如果属性是另一个 object,像案例中的 addressaddress 中的属性没有被冻结,仍然可以被修改。