javascript - object.assign 不复制函数

标签 javascript typescript ecmascript-6

<分区>

我有一个带有一些功能的通用 typescript 类。

当我执行 this.selected = Object.assign({} as AssignedTestType, newTestType);

所选实例不拥有 type AssignedTestType 中的函数

如何使用 object.assign 进行“深度”复制?或任何替代方法?

最佳答案

object.assign does not copy functions

这不是真的

let x = {a: y => y * 2}
let z = Object.assign({}, x)
console.log(z.a(5)); // 10

the selected instance does not own that functions which are in the type AssignedTestType.

现在这部分是真的。 Object.assign 只会做一个浅拷贝,只会枚举自己的 props

关于javascript - object.assign 不复制函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41272375/

相关文章:

javascript - 如何不断更新d3图中x轴的范围?

javascript - 一个构造函数的属性是否可以被另一个构造函数继承?

http - 如何防止 angular2 http 库从登录数据中删除特殊字符?

javascript - 控制.each循环nodejs内的执行流程

javascript - fullCalendar - 带有颜色选项的 addEventSource

javascript - 数据表上的范围日期搜索 (CodeIgniter)

javascript - 如何处理 JavaScript 中未定义的函数参数的解构?

javascript - 如何在 ES6/ES2015 中编写 Mongoose 模型

angular - 相当于 Angular 2 中的 $compile

javascript - 使用同构获取的基本身份验证