jam*_*han 4 javascript constants
这可能是一个愚蠢的问题,但我想看看在分配给 CONST 或 LET 变量方面是否有任何最佳实践。我知道 CONST 变量一旦声明就不能重新分配,但我注意到通过将对象分配给 CONST 变量,您可以更新对象的内容。
const person = {
name: "John"
}
console.log(person.name) => //"John"
person.name = "Kim"
console.log(person.name) => //"Kim"
Run Code Online (Sandbox Code Playgroud)
这会被视为不好的做法吗?如果不是,为什么不使用 LET 变量呢?
您的示例并不是不好的做法,并且完全可以接受,因为person即使您更改了属性,它仍然引用同一个对象。您可以添加、删除或更改属性,但person仍然引用您的对象。
ES6const使绑定不可变,而不是值。
在 ES6 中const,如果不需要重新绑定,则应该使用let. 在您的示例中,您没有重新绑定person,因此它是有效且正确的。
例如,如果您有第二个对象person2并尝试像这样重新绑定person = person2,则会引发类型错误。
如果您希望使对象值不可变,可以这样做Object.freeze():
const person = Object.freeze({
name: "John"
});
person.name = "Kim";
// quietly fails or throws a type error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |