延展操作符和解构赋值

来自:https://www.jianshu.com/p/947e2a7771bd

延展操作符(Spread operator)

这个 … 操作符(也被叫做延展操作符 - spread operator)已经被 ES6 数组 支持。它允许传递数组或者类数组直接做为函数的参数而不用通过apply。

var people=['Wayou','John','Sherlock'];

//sayHello函数本来接收三个单独的参数人妖,人二和人三

function sayHello(people1,people2,people3){

console.log(Hello ${people1},${people2},${people3});

}

//但是我们将一个数组以拓展参数的形式传递,它能很好地映射到每个单独的参数

sayHello(...people);//输出:Hello Wayou,John,Sherlock

//而在以前,如果需要传递数组当参数,我们需要使用函数的apply方法

sayHello.apply(null,people);//输出:Hello Wayou,John,Sherlock

而在 React 中,延展操作符一般用于属性的批量赋值上。在JSX中,可以使用…运算符,表示将一个对象的键值对与ReactElement的props属性合并。

var props = {};

props.foo = x;

props.bar = y;

var component = ;

//等价于

var props = {};

props.foo = x;

props.bar = y;

var component = ;

它也可以和普通的XML属性混合使用,需要同名属性,后者将覆盖前者:

var props = { foo: 'default' };

var component = ;

console.log(component.props.foo); // 'override'


数组去重用延展操作符:





延展操作符:


你可能感兴趣的:(延展操作符和解构赋值)