javascript数字 - 不可变的

Noe*_*oel 8 javascript

我来自c#background,其中使用public get,private set属性实现了immutable.我已经读过javascript中的数字是不可变的,所以我该怎么做才能做到

var x = 6 / 2;
console.log(x);  // 3
 x = 8;
console.log(x); // 8
Run Code Online (Sandbox Code Playgroud)

我换了x,我以为我做不到?

Que*_*tin 19

数字本身是不可变的.存储在变量中的对它们的引用不是.

因此,6 / 2获取对immutable的引用3,然后= 8为immutable 分配一个新引用8.

  • 这些都不是JS特有的.它适用于几乎所有语言,包括C#. (7认同)