首页 > 解决方案 > Object.assign() 与 angular.extend()

问题描述

angularjsangular.extend(src, dst)和 javascriptObject.assign(src, dst)函数之间的行为有什么区别吗?

使用来自https://stackoverflow.com/a/36828514的测试,它们看起来都相同。

如果他们真的是,在性能上有什么不同吗?使用其中一种的优点和缺点是什么?

标签: javascriptangularjsjavascript-objects

解决方案


看看(实际上,在它下面几行并使用)的来源angular.extend,它只是一个浅拷贝。一个例外是它复制了一个属性,AngularJS 使用它来进行对象跟踪。baseExtendangular.extendbaseExtend$$hashKey

如果您正在处理 AngularJS 控制器使用的对象(例如范围变量),我建议您使用Object.assign非 AngularJS 特定的代码。angular.extend


推荐阅读