const _shallowClone = target => {
if(typeof target == "object" && target !== null){ // Array,null 的 type 类型也是 object
if(/^(RegExp|Date|Set|Map)$/.test(target.constructor.name)){ // 使用构造函数名,也是实例化对象名进行第一步筛选
return target;
}
let collect = target instanceof Array ? [] : {}; // 剩下的是数组和对象
for( prop in target){
if(target.hasOwnProperty(prop))
collect[prop] = target[prop]
}
return collect;
}else{
return target // 剩下的是number,bollean,string,undefined等数据类型
}
}