> 参照を失わせるために、そういう事するんだから、であればそのオブジェクトの.toJSONを定義してやるべきだろうね。 ひょっとして、new Person する為の拡張構文をJSON に追加してやるといいたかったのだろうか
私が deep copy するのは構造を書き換えたいが、元の構造も残したい場合だからデータそのものは元のままでいい new Person('太郎') はたった一人の太郎であり、同名の太郎を作ってもらっては困る 同名オブジェクトを作ると taro === person の比較が出来ず、person instanceof Person && taro.name === person.name のようにダックタイピング的に比較しなければならない こうなるともう new Person を定義した意味がなく、{name: '太郎'} を生成したのと大して変わらない