我在JS中知道原始值是不可变的值,对象是可变的,但是,它究竟意味着什么?
例如:
var foo = 1;
然后我们
foo = 2;
foo
变异吗?
这适用于每种语言吗?或者每个人都按照自己的规则应用它吗?
答案 0 :(得分:2)
正如@Pointy所说,当你谈到不变性和可变性时,你会谈论价值观和注意变量。
在JavaScript中,字符串和数字在设计上是不可变的。也许这些示例可以帮助您理解https://www.sitepoint.com/immutability-javascript/
答案 1 :(得分:0)
Immutable Object是在创建状态后无法更改的状态。它适用于值,如果您希望变量是不可变的,则必须将它们声明为常量
var str = 'hello world';
str[0] = '1';
// value remains unchanged
console.log(str);
const x = 1;
// err cannot change value
x = 2;
console.log(x);