diff --git a/snippets/deepClone.md b/snippets/deepClone.md index c2f4755c5..332bf520f 100644 --- a/snippets/deepClone.md +++ b/snippets/deepClone.md @@ -11,6 +11,11 @@ Use `Object.keys()` and `Array.prototype.forEach()` to determine which key-value ```js const deepClone = obj => { + let type = typeof obj; + let isAssignable = type === "function" || type === "object" && !!obj; + if (!isAssignable) { + return obj; + } let clone = Object.assign({}, obj); Object.keys(clone).forEach( key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])