javascript - 这是克隆任何对象/函数/等的有效/安全方法吗?在 ES6 中?

标签 javascript variables ecmascript-6 clone immutability

我想知道这是否是克隆可以是任何内容的变量的安全方法:

// the original variable definition:
let varIWantToCopy = 'hello world'

// the clone variable's definition:
let {varIWantToCopy: cloneOfVarIWantToCopy} = {varIWantToCopy}

// mutating the original value:
varIWantToCopy = 'goodbye world'

// should log out 'hello world':
console.log(cloneOfVarIWantToCopy)

感谢您花时间查看此内容。

亲切的问候,

哈利

最佳答案

我认为如果你真的想克隆一个对象,你应该使用 lodash。 There are several clone functions in lodash that you can use depending on your requirements.

// or you can use lodash/clone
import cloneDeep from 'lodash/cloneDeep';

var objects = [{ 'a': 1 }, { 'b': 2 }];

var cloned = cloneDeep(objects);

console.log(cloned[0] === objects[0]); // this will be false

因此,如果更改 cloned[0] 的值,object[0] 的值不会更改。

关于javascript - 这是克隆任何对象/函数/等的有效/安全方法吗?在 ES6 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53291810/

相关文章:

javascript - 重新启动函数会产生意外结果

javascript - 从 Material UI 中的 TableRow 组件获取数据

javascript - 将一组对象缩减为一个对象并将一些公共(public)信息分组到一个数组中

javascript - 数据克隆错误: An object could not be cloned

JavaScript 调用具有不同签名的函数

javascript - 垂直居中高度未知的div

javascript - 在 Angular 中提取路由配置

matlab - 从 MATLAB 中的文本文件加载值

javascript - 如果 POST 不为空则显示文本

ecmascript-6 - 使用 ES6 类扩展数组