关于变量赋值:在javascript中赋值而不是引用

Assign value not reference in javascript

本问题已经有最佳答案,请猛点这里访问。

我在用JavaScript分配对象时遇到了一个小问题。

看看这个复制我问题的示例代码。

1
2
3
4
5
6
7
var fruit = {
   name:"Apple"
};

var vegetable = fruit;
vegetable.name ="potatoe";
console.log(fruit);

它日志

1
Object {name:"potatoe"}

如何将值而不是对象的引用分配给另一个对象?


可以使用object.assign:

1
2
3
4
5
6
7
var fruit = {
   name:"Apple"
};

var vegetable = Object.assign({}, fruit);
vegetable.name ="potatoe";
console.log(fruit);