Pot.js と PotLite.js で利用可能。
引数 subject が持つプロパティをすべて 引数 target オブジェクトにコピーして返します。
mixin のようなものです。
または jQuery でいう jQuery.extend に似ています。
第一引数 subject 以降は可変です。
与えられた引数のプロパティを順に target にコピーします。
target が同じプロパティを持っていた場合、上書きされます。
コピーが済みアップデートされたオブジェクト target が返ります。
var obj = {foo: 'v1', bar: 'v2'};
var src = {baz: 'v3'};
update(obj, src);
debug(obj);
// obj = {foo: 'v1', bar: 'v2', baz: 'v3'}
var defaults = {a: 1, b: 2, c: 3};
var options = {a: 10, c: 30};
var result = update({}, defaults, options);
debug(result);
// {a: 10, b: 2, c: 30}
シンプルにオブジェクトのコピーを作成できます。
var obj = {foo: 1, bar: 2, baz: 3};
var copy = update({}, obj);
debug(copy); // {foo: 1, bar: 2, baz: 3}