1 先来看下字符串,数字和布尔类型转化为对象包装类
|
|
2 Object.assign(target,source1,source2,······);该方法会将source1,2对象的 可枚举的属性复制到target对象上,然后返回target对象
2.1 如果只传了一个参数,那么直接返回该参数,(如果传的是基本数据类型null和undefined会报错),基本数据类型转化为包装对象,复杂数据类型直接返回
|
|
2.2 如果传递了多个参数,那么进行赋值拷贝,注意assign方法执行的是浅拷贝,也就是说如果键值的值是复杂数据类型,那么复制的是地址,如果source有包装类型字符串可以进行赋值,null undefined 数字以及布尔类型会跳过
|
|
2.3 如果对象target的属性和source的属性名有重复的,那么会进行合并覆盖
|
|
2.4 原型上的属性以及不可枚举的属性不会被复制
|
|
3 assign经常的用法,以下代码都是有联系的
|
|
3.1 为对象添加属性
|
|
3.2 为对象添加方法
|
|
3.3 克隆对象
|
|
3.4 合并多个对象
|
|
3.5 为属性指定默认值
|
|