javascript - Object.assign() 与 angular.extend()
问题描述
angularjsangular.extend(src, dst)
和 javascriptObject.assign(src, dst)
函数之间的行为有什么区别吗?
使用来自https://stackoverflow.com/a/36828514的测试,它们看起来都相同。
如果他们真的是,在性能上有什么不同吗?使用其中一种的优点和缺点是什么?
解决方案
看看(实际上,在它下面几行并使用)的来源angular.extend
,它只是一个浅拷贝。一个例外是它复制了一个属性,AngularJS 使用它来进行对象跟踪。baseExtend
angular.extend
baseExtend
$$hashKey
如果您正在处理 AngularJS 控制器使用的对象(例如范围变量),我建议您使用Object.assign
非 AngularJS 特定的代码。angular.extend