相当于匿名函数的一种简化写法,有点另类,个人不推荐。
比如:
.then(response=>response.json())
.then(json=>this._handleResponse(json.response))
相当于:
.then(function(response){response.json();})
.then(function(json){this._handleResponse(json.response);})
对于刚接触react native的人来说,后面这种写法明显更清晰和易读。
基础语法
详见:http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
// 如果只有一个参数,圆括号是可选的:
(singleParam) => { statements }
singleParam => { statements }
// 无参数的函数需要使用圆括号:
() => { statements }
详见:http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax
</pre>高级语法<pre name="code" class="javascript">// 返回对象字面量时应当用圆括号将其包起来:
params => ({foo: bar})
// 支持 Rest parameters 和 default parameters:
(param1, param2, ...rest) => { statements }
(param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
// Destructuring within the parameter list is also supported
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); // 6