02函数-04-箭头函数(ES6)

ES6新增的函数:Arrow Function,定义方式就是一个箭头

箭头函数相当于匿名函数,并且简化了函数定义,和匿名函数最大的区别在于其内部的this不再“乱跑”,而是由上下文确定
  • 定义仅包含一个表达式时,可以省略花括号和return
  • 定义包含多条语句时,则不能省略花括号和return
  • 参数不止一个时,需要用括号括起来

x => x * x 

//相当于
function (x) {
    return x * x;
}

x => {
    if (x > 0) {
        return x * x;
    }
    else {
        return - x * x;
    }
}

// 两个参数:
(x, y) => x * x + y * y

// 无参数:
() => 3.14

// 可变参数:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i<rest.length; i++) {
        sum += rest[i];
    }
    return sum;
}

注意:如果要返回一个对象,如果是但表达式,需要增加括号,因为对象的函数体和语法有冲突:
// SyntaxError:
x => { foo: x }

// ok:
x => ({ foo: x })

其他备注参考链接
posted @ 2017-03-26 14:18  Dulk  阅读(248)  评论(0编辑  收藏  举报