带有函数的结构化克隆

问题描述 投票:0回答:1

我想做一个对象的深拷贝,它也有键的功能

我也是

deepCopy = structuredClone(existingObjWithFns);

但是当它运行时,我得到以下错误;

未捕获(承诺)DOMException:无法在“Window”上执行“structuredClone”:函数 MyFunction()

javascript ecmascript-6 deep-copy structured-clone
1个回答
1
投票

函数对象不能被结构化克隆算法复制;试图抛出 DataCloneError 异常。

更多信息,您可以阅读MDN

但是有了

object.assign()
你可以做到:

const target = { a: () => { return 1 }, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target);
// Expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget === target);
// Expected output: true

有关对象克隆的更多信息,您可以关注此链接

© www.soinside.com 2019 - 2024. All rights reserved.