为了在处理JavaScript对象时通过另一个对象继承一个对象的属性,我经常看到使用_. clone
,其目的是创建一个具有另一个对象属性的对象,然后对其进行扩展。
为什么我们不能只使用与扩展对象更相关的 _.extend
?
请告诉我这两者之间的区别,以及为什么我们不能_。扩展
而不是_。克隆
这是一个昂贵的操作。
如果你_。扩展()
一个现有的对象,你改变了这个对象。如果你_。克隆()
它首先,原始对象保持不变。
当然,您可以使用原始对象的属性和一些额外的属性扩展一个空对象,这也使原始对象保持不变:
_.extend({}, originalObject, {
additionalProperty: "foo"
})
这与< code>originalObject的浅层克隆非常相似。借助ES2015,您可以使用普通JavaScript和< code>Object.assign()实现同样的目标。
延伸阅读:
_。扩展
改变对象。_。克隆
按值创建副本,而不是通过引用创建副本,并且不会更改原始对象。请注意,_。扩展
只是_。分配
的别名。
<代码>_。assignIn(对象,[sources])
注意:此方法会使< code>object发生变化。
https://lodash.com/docs/4.17.2#assignIn
另请参见<代码> _的文档。克隆:
https://lodash.com/docs/4.17.2#clone
我想制作一份扩展的副本,作为我自己扩展的基础。我如何克隆一个TYPO3扩展,以同样的行为开始我自己的扩展。我必须更改哪些文件和参数?
尝试使用liquibase-mongodb扩展与夸克。没有任何成功。有谁能给我一个可行的例子吗? 所以quarkus知道liquibase,但mongodb变更集不执行。
关于Quarkus,我有两个问题: > 当不使用本机模式时,quarkus可以与任何java库一起使用吗?我不明白quarkus扩展的含义,例如https://github.com/quarkiverse中为非本机图像提供的扩展。这些扩展是否只有在本机模式下使用quarkus时才需要?
谢谢,
扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况。 你可以使用扩展来加速你的开发过程。 信息: 本文中我们使用的术语 "扩展" 特指 Yii 软件包。而用术语 "软件包" 和 "库" 指代非 Yii 专用的通常意义上的软件包。 使用扩展
vscode-react-native vscode-go