JavaScriptのオブジェクトは参照渡しなので複製したい時は自分で同じオブジェクトを作らないといけない。そこでオブジェクトをディープコピーするclone関数を作ってみた。コードは以下。GitHubにもある。 See the Pen PqRWmw by shigure (@webkatu) on CodePen. 使い方と引数の説明 var cloneObject = clone(object, homogeneity, excludedPrototypes, excludedObjects); 第一引数「object」 第一引数はコピーしたいオブジェクトを指定する。ただ単にディープコピーしたいのであれば第一引数だけ使えばいい。 var a = {a: function() {}, b: [], c: {}}; var b = clone(a); //参照渡しではなく全てコピーされている