diff --git a/chapters/classes_and_objects/cloning.md b/chapters/classes_and_objects/cloning.md index bdf508c..3b1ceba 100644 --- a/chapters/classes_and_objects/cloning.md +++ b/chapters/classes_and_objects/cloning.md @@ -14,6 +14,17 @@ clone = (obj) -> if not obj? or typeof obj isnt 'object' return obj + if obj instanceof Date + return new Date(obj.getTime()) + + if obj instanceof RegExp + flags = '' + flags += 'g' if obj.global? + flags += 'i' if obj.ignoreCase? + flags += 'm' if obj.multiline? + flags += 'y' if obj.sticky? + return new RegExp(obj.source, flags) + newInstance = new obj.constructor() for key of obj