ES6学习笔记(2)- 箭头函数
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 });