【问题标题】:why react javascript const object's members can be modified [duplicate]为什么反应javascript const对象的成员可以修改[重复]
【发布时间】:2021-06-09 21:22:40
【问题描述】:

正如here 所示

// allowed
const helloWorld = {
  text: 'Welcome to the Road to learn React'
};
helloWorld.text = 'Bye Bye React';

有效。

但是为什么helloworld,作为一个常量对象,它的成员可以被修改呢? const 在 react javascript 中的本质是什么?

【问题讨论】:

  • 还有数组……也一样

标签: javascript ecmascript-6


【解决方案1】:

const 声明创建一个对值的只读引用。

当您将对象分配给 const 时。您正在创建对该对象的引用。

const helloWorld = {
   text: 'Welcome to the Road to learn React'
};

现在 const helloWorld 不知道它所持有的实现或内部结构。 Javascript 刚刚告诉“helloWorld”“我给你这个对象,拿着它。听着!!!伙计!!!,你不应该拿着别的东西”。 p>

所以,helloWorld 也是如此。 它拥有相同的对象。但是人们可以改变物体的内部。

因此,

人们可以做以下事情:

helloWorld.text = 'Bye Bye React';

这里 helloWorld 仍然持有同一个对象。 helloWorld 将允许你对它所持有的东西做任何事情。但是,它不会做的是:“它不会放弃它”

所以,人们不能做以下事情:

helloWorld = "something else";

人们不能要求 helloWorld 持有其他东西。

【讨论】:

    【解决方案2】:

    Const 将定义一个不可重新分配的对象,但我们可以编辑对象中的属性。使用 const 不会改变对象的结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-11
      • 2018-09-06
      • 2021-06-04
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多