语法
基础语法
1 2 3 4 5 6 7 8 9 10
| (param1, param2, …, paramN) => { statements } (param1, param2, …, paramN) => expression
(singleParam) => { statements } singleParam => { statements }
() => { statements }
|
高级语法
1 2 3 4 5 6 7 8 9 10
| params => ({foo: bar})
(param1, param2, ...rest) => { statements } (param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c; f();
|
简短函数书写
1 2 3 4 5
| var a2 = a.map(function(s) { return s.length }) var a3 = a.map(s => s.length)
|
this 词法解析
在箭头函数出现之前,每个新定义的函数都有其自己的 this 值。
1 2 3 4 5 6 7 8 9 10 11
| function Person() { var self = this self.age = 0
setInterval(function growUp() { self.age++ }, 1000) }
|
1 2 3 4 5 6 7 8 9 10
| function Person() { this.age = 0
setInterval(() => { this.age++ }, 1000) }
var p = new Person()
|