
node-extendは、jQueryの古典的なextend()メソッドを移植したものです。期待通りの動作をします。シンプルで、実績のある方法です。
注意点:
Object.assignが同じ機能をネイティブで提供しています(ただし、「ディープコピー」オプションはありません)。Node.jsにおけるECMAScript 2015 (ES6)を参照してください。Object.assignのネイティブ実装の中には、仕様に完全に準拠していないものもあります。準拠した候補については、object.assignモジュールを確認してください。このパッケージはnpmでextendとして入手できます。
npm install extend
構文: extend ( [deep], target, object1, [objectN] )
1つのオブジェクトを1つ以上の他のオブジェクトで拡張し、修正されたオブジェクトを返します。
例:
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の貢献があります。