箭头函数不需要参数或需要很多参数
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};
//传入num1, num2 返回num1 + num2
如果箭头函数代码块出来一块,需要用大括号将他们括起来,并且用return语句返回
如果箭头函数只有一条语句,且不需要返回值,可以直接使用以下写法
let fn = () => void deosNotReturn;
使用箭头函数的主要点
1.函数体内this对象就是定义时所在的对象,而不是使用时所在的对象
2.不能当做构造函数,不可以用new命令
第一点及其重要(this对象的指定是可变的,但在箭头函数中是固定的),例如
function foo(){
setTimeout(() =>{
console.log('id', this.id);}
, 100);
}
var id = 21;
foo.call({id:42});
如果普通函数应该使用this时应该指向全局变量window,输出值应该是21。箭头函数中this总是指向函数定义生效时所在的对象。
实际上箭头函数中并没有自己的this,导致内部的this就是外层代码的this。 除了this之外,arguments, super,new.target也不存在在箭头函数中,都是指向外层函数的对应变量。
箭头函数的内部还能嵌套箭头函数
原文:https://www.cnblogs.com/genyu818/p/12342488.html