不变性是否允许更改值?

时间:2019-05-22 13:56:58

标签: immutability

我对不变性的理解存在一个空洞。我经常听到:

  

不变性意味着值不变

...但是程序员在建模时实际上如何改变呢?

例如,在用户界面中:

const selectedTab = 'users'

如果用户选择另一个标签,例如'sales',该怎么办? selectedTab应该怎么办?

认为,关于不变性的描述可能是不正确的,并且不变值可以更改,但是只有在调用函数时,这些值才会更改。例如,标签上的点击处理程序可以执行类似的操作

var selectedTab = 'users'
salesTabElement.on('click', function(event){
   ...
   selectedTab = 'sales'
})

也许还有另一种解释。好像是这样:

  • 许多人错误地指出了不变性,意味着价值无法改变
  • 有一种方法可以对变化的事物进行建模,而不涉及更改变量的值。

不变性是否允许更改值?

0 个答案:

没有答案