JavaScript中Object.freeze()和const之间的主要区别是什么?
Object.freeze()和const 之间的区别在于,前者可以防止可变性, 而后者则不能防止可变性。为了更好地理解,让我们单独讨论它们。
康斯特
const 行为与let相同。一旦使用const 定义了任何变量,就无法重新分配它。由Const 声明的变量是块范围的,而不是var定义的函数范围的。
const 关键字的主要缺点是它不能防止对象的可变性。即使使用const定义了该对象,也可以更改其属性。这称为可变性。有一个概括,使用const分配的任何变量都不能再次重新分配。但是,当使用const定义对象时,可以更改其属性。在那种情况下,最好避免使用const来防止变异。
示例
在下面的示例中,属性“ country”的值最初是“印度”。但是后来,即使使用const分配了变量,该值仍更改为England。
<html><body>
<script>
const person = {
"name" : "Suresh",
"Country" : "India",
"Designation" : "Mayor"
}
person.Country = "England"
document.write(person.Country);
</script>
</body>
</html>
输出结果
England
Object.freeze()
这种方法提供了不变性。一旦冻结了任何对象,就无法更改其属性。
在下文中,即使将属性“国家”的值从“印度”更改为“英国”,由于不可变性 ,值“印度”仍保留其位置。
示例
<html><body>
<script>
const person = {
"name" : "Suresh",
"Country" : "India",
"Designation" : "Mayor"
}
Object.freeze(person);
person.Country = "England"
document.write(person.Country);
</script>
</body>
</html>
输出结果
India
以上是 JavaScript中Object.freeze()和const之间的主要区别是什么? 的全部内容, 来源链接: utcz.com/z/338153.html