我现在所观察到的让我质疑现实。当然,我正在使用 Javasript。
我有以下代码(
clone-deep
npm 包 v 4.0.1)
let deepCloned = cloneDeep(obj);
if (deepCloned === obj) {
debugger;
}
当然,在某些情况下,调试器会受到影响。当我将其更改为 lo dashes 实现时
let deepCloned = _.cloneDeep(obj);
if (deepCloned === obj) {
debugger;
}
可以观察到相同的行为。所以我必须在这里遗漏一些非常基本的东西。它是什么?
来自包页面:https://www.npmjs.com/package/clone-deep#heads-up
注意!
最后一个参数指定是否克隆实例(对象 来自自定义类或不是由对象创建的 构造函数。该值可能为 true 或用于克隆的函数 实例。
当提供instanceClone函数时,它将被调用 克隆不是“普通”对象的对象(由 isPlainObjectisPlainObject)。如果未指定instanceClone,则此 库不会尝试克隆非普通对象,并且只会 复制对象引用。
我自己不使用该包,并且您没有提到“obj”是如何创建的,所以我无法重现您的确切问题。