オブジェクトのコピーをさくっとやってくれる便利なライブラリobject-assignを使ってみました。 インストールはnpmとtsdで以下のような感じ。
npm install object-assign --save tsd install object-assign
使う側のコードはこんな感じ。requireで読み込んで使うだけ。第一引数に元のオブジェクトを指定して、続けてマージしたいオブジェクトを渡していく感じです。
import objectAssign = require('object-assign'); class Person { constructor(public name: string, public age: number) { } } var p = new Person('tanaka', 34); console.log(JSON.stringify(p)); p = objectAssign({}, p, { age: 99 } as Person) as Person; console.log(JSON.stringify(p));
実行するとこんな感じになります。
{"name":"tanaka","age":34} {"name":"tanaka","age":99}
いい感じ。