1基础语法
1.1 原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。
1.2 当函数参数只有一个,括号可以省略;但是没有参数时,括号不可以省略。
1.3 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,省略掉了{ … }和return。还有一种可以包含多条语句,这时候就不能省略{ … }和return。
1.4 如果返回一个对象,需要特别注意,如果是单表达式要返回自定义对象,不写括号会报错,因为和函数体的{ … }有语法冲突。
2 箭头函数和匿名函数有个明显的区别
2.1 箭头函数内部的this是词法作用域,由上下文确定。(词法作用域就是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变 。)
2.2 用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略
3 什么时候不该用ES6箭头函数
3.1.在对象上定义函数
3.2.在原型上定义函数,构造函数中