用于对象深度克隆的同构,可自定义和简单的javascript函数:
omniclone(source, config); |
案例:
const omniclone = require('omniclone'); |
优势
- 在复制属性之前自动调用对象构造函数(可自定义的行为)
- 让你在源和结果对象之间共享[[Prototype]]对象(可自定义的行为)
- 让你克隆带有循环引用的对象(可自定义的行为)
- 让你复制getter和setter,非enumerables属性以及符号symbols (可自定义的行为)
- 正确处理String,Boolean,Number,Error和Promise对象
- 安全,类似的sibilings兄弟邻居引用而不重复
- 正确克隆Array对象(如果invokeConstructors设置了标志)
- 正确克隆RegExp和Date对象