>[danger]可以修改const声明的对象的属性吗,为什么? 在 ES6 中,使用 `const` 声明的变量实际上是一个常量,其值不能被重新分配。这意味着无法将一个新值赋给 `const` 变量。然而,对于对象类型的 `const` 变量,虽然不能重新分配整个对象,但可以修改对象的属性。 这是因为 `const` 保护的是变量绑定的引用,而不是引用指向的实际对象。当你用 `const` 声明一个对象时,你创建了一个固定的引用,该引用指向了一个特定的对象。虽然你不能更改这个引用,但你可以通过这个引用访问和修改对象的属性。 例如: ```javascript const person = { name: "Alice" }; person.name = "Bob"; // 可以修改对象属性 person.age = 25; // 可以添加新的属性 console.log(person); // 输出 { name: "Bob", age: 25 } ``` 在上述示例中,尽管我们使用 `const` 声明了 `person` 变量,但我们仍然可以修改 `person` 对象的属性。原因是 `const` 限制了变量绑定的引用(即 `person`),而不是引用指向的实际对象。 需要注意的是,如果尝试重新分配整个对象给 `const` 变量,会导致错误: ```javascript const person = { name: "Alice" }; person = { name: "Bob" }; // 错误,不能重新分配整个对象 ``` 所以,虽然 `const` 可以修改对象的属性,但不能重新分配整个对象。