node-extend 是 jQuery 经典 extend() 方法的移植版本。它的行为完全符合预期,简单、久经考验且可靠。
注意事项:
Object.assign
现已原生提供相同的功能(但不包括“深拷贝”选项)。
请参阅 ECMAScript 2015 (ES6) in Node.js。Object.assign 的原生实现可能不完全是规范兼容的。
请查看 object.assign 模块以获取兼容的候选方案。本包通过 npm 提供,包名为:extend
npm install extend
语法: extend ( [deep], target, object1, [objectN] )
用一个或多个对象扩展目标对象,返回被修改后的目标对象。
示例:
var extend = require('extend');
extend(targetObject, object1, object2);
请注意,目标对象会被直接修改,并且 extend() 会返回该对象。
如果第一个参数指定为布尔值 true,extend 将执行深拷贝,递归复制它找到的所有对象。否则,拷贝将共享原始对象的结构。
未定义的属性不会被复制。但继承自对象原型的属性会被复制。
警告:不支持将 false 作为第一个参数传递。
deep Boolean(可选)
如果设置,合并将变为递归(即深拷贝)。target Object
要扩展的目标对象。object1 Object
将合并到第一个对象中的对象。objectN Object(可选)
要合并到第一个对象中的更多对象。node-extend 遵循 MIT 许可证。
感谢 jQuery 作者完善了这项卓越的工具。
由 Stefan Thomas 移植到 Node.js,Jonathan Buchanan 和 Jordan Harband 做出了贡献。