В моем понимании неизменности есть дыра. Я часто слышу, что:
неизменность означает, что значение не меняется
... но как программист справится, когда все, что он моделирует, действительно изменится?
Например, в пользовательском интерфейсе:
const selectedTab = 'users'
Что если пользователь выберет другую вкладку, например'sales'
?Что должно произойти с selectedTab
?
Я думаю , что описание неизменности может быть неправильным и что неизменяемые значения могут изменяться, но значения изменяются только при вызове функции.Например, обработчик щелчка на вкладке может сделать что-то вроде
var selectedTab = 'users'
salesTabElement.on('click', function(event){
...
selectedTab = 'sales'
})
Возможно, есть другое объяснение.Кажется, что либо:
- Многие люди неверно заявляют, что неизменность означает, что значения не могут изменяться
- Существует способ моделирования чего-то, что не требует изменения значения переменной.
Позволяет ли неизменяемость изменять значения или нет?