# 箭头函数

# 使用方法

const f = v => v

// equal
const f = function (v) {
    return v
}
1
2
3
4
5
6

# 使用注意点

  • 函数体内 this 对象,指的是定义时所在对象,不可变
  • 不可以当作构造函数,否则会报错
  • 不可以使用 arguments 对象,可以用 rest 代替
  • 不可以使用 yield 命令,因此不可以作为 Generator 函数
  • 没有 prototype 属性

# 具体实现

polyfill 如下

const a = () => { console.log(this) }

// babel parse

var _this = void 0
var a = function () {
    console.log(_this)
}

1
2
3
4
5
6
7
8
9