Pot.update

{Object} Pot.update ({Object} target, {Object} subject [, {Object} subject2 [, ...]])

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}