【ECMAScript6】你不得不知道系列之箭头函数
ES6中新增的定义函数的方式:
( ) => { }
const fn = ( ) =>{ }
若函数体中仅一句代码且其执行结果是其返回值则可省略大括号:
function sum(num1.num2){
return num1+num2;
}
const sum = (num1,num2) =>num1+num2;
若形参只有一个,则小括号也可省略:
const fn = v =>{
alert(v);
}
fn(20);//20
箭头函数本身不绑定this,若在箭头函数中使用this,则将指向箭头函数所定义位置中的this值:
function fn (){
console.log(this);
return () => {
console.log(this);
}
}
const obj ={ name :'junjun' };
fn.call(obj);//{ name :'junjun' }
const resFn = fn.call(obj);
resFn();//{ name :'junjun' }
var age = 100;
var obj ={
age:20,
say:()={
alert(this.age);
}
}
obj.say();//100