react native语法ECMAScript 6 学习笔记----箭头函数和延展操作符

来源:互联网 发布:java调用main函数 编辑:程序博客网 时间:2024/04/30 07:32

箭头函数

React Native 里面经常会出现类似的代码:

ES6中新增的箭头操作符 => 简化了函数的书写。操作符左边为输入的参数,而右边则是进行的操作以及返回的值 Inputs=>outputs

举几个栗子感受下:

var array = [1, 2, 3];//传统写法array.forEach(function(v, i, a) {    console.log(v);});//ES6array.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','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 = <Component {...props} />;  //等价于var props = {};  props.foo = x;  props.bar = y;  var component = <Component foo={x} bar={y} />;

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

var props = { foo: 'default' };var component = <Component {...props} foo={'override'} />;console.log(component.props.foo); // 'override'
原文:react native 中es6语法解析
0 0