箭头函数
React Native 里面经常会出现类似的代码:
ES6中新增的箭头操作符=>
简化了函数的书写。操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=>outputs
举几个栗子感受下:
var array = [1,2,153)">3]; //传统写法 array.forEach(function(v,i,a) { console.log(v); }); //ES6 array.forEach(v = > console.log(v));
var sum = (num1,num2) => { return num1 + num2; } //等同于: var sum = function(num1,num2) { return num1 + num2; };
更多详细内容请自行Google,或查看:https://www.imququ.com/post/arrow-function-in-es6.html
延展操作符(Spread operator)
这个 … 操作符(也被叫做延展操作符 - spread operator)已经被 ES6 数组 支持。它允许传递数组或者类数组直接做为函数的参数而不用通过apply。
var people=['Wayou','John',68)">'Sherlock']; //sayHello函数本来接收三个单独的参数人妖,人二和人三 function sayHello(people1,people2,people3){ console.log(`Hello ${people1},${people2},${people3}`); } //但是我们将一个数组以拓展参数的形式传递,它能很好地映射到每个单独的参数 sayHello(...people);//输出:Hello Wayou,John,Sherlock //而在以前,如果需要传递数组当参数,我们需要使用函数的apply方法 sayHello.apply(null,people); 而在React
中,延展操作符一般用于属性的批量赋值上。在JSX中,可以使用…运算符,表示将一个对象的键值对与ReactElement的props属性合并。var props = {}; props.foo = x; props.bar = y; var component = <Component {...props} />; //等价于 var props = {}; props.foo = x; props.bar = y; var component = <Component foo={x} bar={y} />;它也可以和普通的XML属性混合使用,需要同名属性,后者将覆盖前者:
var props = { foo: 'default' }; var component = ...props} {'override'} />;console.log(component.props.foo); // 'override'
原文:react native 中es6语法解析