日々精進

新しく学んだことを書き留めていきます

Typescriptで型情報を保存したままオブジェクトをコピーする方法

lodashの_.cloneDeepではプロパティはコピーされるけどprototypeオブジェクトはコピー元と同じものをセットしてくれないので、instanceofの結果がコピー元と違うしメソッドも呼べない。

やりたい場合は自分で手書きするしかなさそう。コピーした後で copy.__proto__ = original.prototype とすればいいじゃんという気もするが、
protoは標準のプロパティではないので動かない環境がある。

参考: