Object.assign()函数
本小节将介绍assign()函数的使用
1、assign()函数介绍
Object.assign(target,...soure)函数可以将所有的源对象属性复制到目标对象并返回。
2、使用方式一
我已经将结果以注释的方式给出,我们可以发现,o1对象获取到了o1、o2、o3属性,并且返回obj1
var o1 = {a:1};
var o2 = {b:2};
var o3 = {c:3};
var obj1 = Object.assign(o1,o2,o3);
console.log(o1); //{a: 1, b: 2, c: 3}
console.log(obj1);// {a: 1, b: 2, c: 3}
3、使用方式二
var o4 = {a:1,b:2};
var o5 = {b:3,c:4};
var obj2 = Object.assign({},o4,o5);
console.log(obj2);//{a: 1, b: 3, c: 4}
4、我们要怎么用assign?
我们必须保证reducer是一个纯函数,我们不能改变传入的state,所以在此我们需要使用Object.assign({},state,...)复制一个state
var state = {filter:'SHOW_ALL',todos:['x1','x2']};
var obj3 = Object.assign({},state,{todos:[state.todos[1],'x3']});
console.log(obj3);
练习使用assgin函数,打开控制台看一看obj3打印出来是什么呢?