Search code examples
javascriptcoffeescriptcloneinstance

How do I clone/copy an instance of an object in CoffeeScript?


Fairly straight forward question but Googling hasn't turned up anything as yet.

How do I copy/clone/duplicate an instance of an object in Coffeescript? I could always just create a clone() method which returns a new instance with copied values, but that seems like an error-prone way to go about it.

Does CoffeeScript offer a simpler solution?


Solution

  • This might work.

    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 : What is the most efficient way to deep clone an object in JavaScript?