微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6-箭头函数

1、写法

ES5写法

let fn = function(a,b){
	return a + b;
}
let res = fn(1,2);
console.log(res);	// 3

ES6写法

let fn = (a,b) =>{
	return a + b;
}
let res = fn(1,2);
console.log(res);	// 3

简写: 如果函数体只有一条语句是返回值, 则可以省略return 语句 ;直接写

let fn = (a, b) => a + b;
let res = fn(1,2);
console.log(res);	// 3

简写: 如果参数只有一个,则可以省略 ()

let fn = x => x * x;
let res = fn(3);
console.log(res); // 9

2、箭头函数不能作为构造实例化对象

let Person = (name,age)=>{
    this.name = name;
    this.age = age;
}
let me = new Person('典韦',30);
console.log(me); // 报错:Uncaught TypeError: Person is not a constructor

3、不能使用arguments变量

let fn = () =>{
    console.log(arguments);
}
fn(1,2,3); // 报错:Uncaught ReferenceError: arguments is not defined

4、案例演示

从数组中返回偶数元素 正常写法

let arr = [16,3,8,34,68,100,97];
let res = arr.filter(function(item){
    if(item % 2 == 0){
        return true;
    }else{
        return false;
    }
})
console.log(res); //[16, 8, 34, 68, 100]

箭头函数写法

let res = arr.filter(item => item % 2 === 0);
console.log(res);  //[16, 8, 34, 68, 100]

总结

箭头函数适合与this无关的回调,例如定时器,数组的方法问题

箭头函数不适合与this有关的问题,例如事件回调,对象的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐