6 if (obj === null || typeof obj !== 'object')
9 if (obj instanceof Object)
10 var copy = { __proto__: obj.__proto__ }
12 var copy = Object.create(null)
14 Object.getOwnPropertyNames(obj).forEach(function (key) {
15 Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))