1. 箭头函数声明
箭头函数的声明方式示例:
1 const printValue = (condition) => {
2 let testValue = 55;
3 if (condition) {
4 console.log(testValue);
5 } else {
6 console.log(testValue + 10);
7 }
8 }
2. 与传统函数的区别
- 没有this、super、arguments和new.target绑定,箭头函数中的这些值由最近一层的非箭头函数决定;
- 不能通过new关键字调用,不能作为构造函数;
- 箭头函数不具备原型,也就是没有prototype这个属性;
- 不可以改变this的绑定,在箭头函数的内部的this值不可被改变,在函数的生命周期内始终保持一致;
- 不支持arguments对象,也就是只能通过函数的形参(命名参数)和不定参数的形式访问参数;
- 不支持重复的命名参数;
3. 箭头函数的语法
1 let returnValue = value => value;
2
3 //相当于
4 let returnValue = function(value) {
5 return value;
6 }
7
8 let addition = (num1, num2) => num1 + num2;
9 // 或者
10 let addition = (num1, num2) => {
11 return num1 + num2;
12 }
13
14 let getName = () => "Jason";
15
16 // 箭头函数返回一个对象字面量
17 let getItem = (id) => ({
18 id: id,
19 name: "hello",
20 });