• ES6的箭头函数 ( => )


    var f = v => v;
    //上面的箭头函数等同于:
    var f = function(v) {
      return v;
    };



    如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。
    var f = () => 5;
    // 等同于
    var f = function () { return 5 };
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2) {
      return num1 + num2;
    };



    如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用 return 语句返回。
    var sum = (num1, num2) => { return num1 + num2; }

    由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
    // 报错
    let getTempItem = id => { id: id, name: "Temp" };
    // 不报错
    let getTempItem = id => ({ id: id, name: "Temp" });



    如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了。
    let fn = () => void doesNotReturn();



    箭头函数使得表达更加简洁。
    const isEven = n => n % 2 == 0;
    const square = n => n * n;

     


    以上摘自阮一峰的《ES6标准入门一书》,下面再来一个具体例子:

    export default connect ( state =>({
                  items : state.items,
                  selectedItems :state.selectedItems }),
                  
                  dispatch => ({ actions: bindActionCreators(ItemsActions, dispatch)}))(App)

    上面这段代码虽然简洁,但咋一看上去不好理解,等同于如下的形式

    let data = function getData(state){
        return {
                  items : state.items,
                  selectedItems :state.selectedItems }
    }
    
    let action = function getAction(dispatch){
         return {actions: bindActionCreators(ItemsActions, dispatch)}
    }
    
    
    export default connect ( data , action)(App)
  • 相关阅读:
    8.7题解
    2019.9.16 csp-s模拟测试44 反思总结
    洛谷P3168 [CQOI2015]任务查询系统
    洛谷P2468 [SDOI2010]粟粟的书架
    2019.8.14 NOIP模拟测试21 反思总结
    2019.8.13 NOIP模拟测试19 反思总结
    2019.8.12 NOIP模拟测试18 反思总结
    大约是个告别【草率极了】
    2019.8.10 NOIP模拟测试16 反思总结【基本更新完毕忽视咕咕咕】
    2019.8.9 NOIP模拟测试15 反思总结
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/9877991.html
Copyright © 2020-2023  润新知