我是 React 新手,对 es6 中的不变性有一个疑问,以帮助我理解不变性。
例如,我知道这在 JSX 中是无效的,因为它正在重新分配 const。
const helloWorld = 'Hello World';
helloWorld = 'Bye World';
但是,这似乎是有效的:
const helloWorld = {greeting: 'hello World'};
helloWorld.greeting = 'bye world';
本质上,我试图理解的概念是虽然helloWorld
是不可变的,但它所持有的值(value)却不是。 如何以及为什么这仍然代表不变性?为什么你会以这种方式使用它而不是使用 let
变量?
感谢并为菜鸟问题道歉(如果是这样的话)! :)
最佳答案
第一个 const
不是 JSX 的一部分,它是 ECMAScript6 中的语言功能。 const
仅使变量成为常量,其引用的值仍然是可变的。
如果您想让值不可变,请使用 Object.freeze
或类似 Immutable.js 的库。 .
关于javascript - es6 中 const 的不变性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43170659/