Javascript中不变性的定义是什么?每种程序语言都一样吗?

时间:2017-10-02 18:18:24

标签: javascript immutability

我在JS中知道原始值是不可变的值,对象是可变的,但是,它究竟意味着什么?

例如:

var foo = 1;

然后我们

foo = 2;

foo变异吗?

这适用于每种语言吗?或者每个人都按照自己的规则应用它吗?

2 个答案:

答案 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);