Object.assign
不会深度复制对象。考虑使用以下代码,它应该打印0 0 0 1
,但它正在打印0 0 1 1
。
var obj = {
"value": {
"default": 0
}
};
var newo = Object.assign({}, obj);
console.log(obj.value.default);
console.log(newo.value.default);
newo.value.default = 1;
console.log(obj.value.default);
console.log(newo.value.default);
我知道我们可以使用JSON.parse(JSON.stringify(obj))
。但这是最佳实践解决方案吗?