かなり率直な質問ですが、グーグルはまだ何も見つけていません。
Coffeescript でオブジェクトのインスタンスをコピー/クローン/複製するにはどうすればよいですか? コピーされた値を持つ新しいインスタンスを返すメソッドをいつでも作成できますclone()
が、それはエラーが発生しやすい方法のようです。
CoffeeScript はより簡単なソリューションを提供しますか?
かなり率直な質問ですが、グーグルはまだ何も見つけていません。
Coffeescript でオブジェクトのインスタンスをコピー/クローン/複製するにはどうすればよいですか? コピーされた値を持つ新しいインスタンスを返すメソッドをいつでも作成できますclone()
が、それはエラーが発生しやすい方法のようです。
CoffeeScript はより簡単なソリューションを提供しますか?
これはうまくいくかもしれません。
clone = (obj) ->
return obj if obj is null or typeof (obj) isnt "object"
temp = new obj.constructor()
for key of obj
temp[key] = clone(obj[key])
temp
Adopted from : JavaScript でオブジェクトをディープ クローンする最も効率的な方法は何ですか?
ヒントをくれた Larry Battle に感謝します:
jQuery.extend を使用する John Resig のソリューションは見事に機能します。
// Shallow copy
newObject = $.extend({}, oldObject);
// Deep copy
newObject = $.extend(true, {}, oldObject);
詳細については、jQuery のドキュメントを参照してください。
CoffeeScriptクックブックから:
http://coffeescriptcookbook.com/chapters/classes_and_objects/cloning
Underscore.js には浅いクローン機能もあります。