又到了金九银十的良好时期,es6大家或许都知道,箭头函数更是面试考点的重中之重,所以我们得重视起来。 希望小伙伴们喜欢。
箭头函数是什么?
允许我们用更短的语法定义函数。箭头函数可用于替代传统函数function() {}。
//传统函数
function sum(num){
console.log(num)
}
sum(11)
// 箭头函数
const sum = (sum) => {
console.log(num)
}
箭头函数的作用
-
与传统函数相比,箭头函数更加简洁。
-
与传统函数相比,箭头函数this是静态的,内部this指向windows对象或者指向函数声明所在作用域下的this的值,在实际开发过程中可以采取下列方式存储this指向
function add(){ var that = this var data = (name)=>{ that.name = name } } -
箭头函数的简写,当形参有且只有一条语句时,可以省略小括号
const fn1 = (data) => { return data } //简写为 const fn1 = data => data
4.箭头函数如果想返回一个对象直接用{}包括会默认为函数体,但又不想写 return,则可以使用({})包裹
const fn1 = data => ({name: 'Tom', data}) // data同名简写,实际是data:data
5.箭头函数适合与this无关的回调,定时器,数组方法,不合适与this有关的回调,事件回调,对象的方法
缺点
-
箭头函数不能作为构造函数,不能使用new
-
箭头函数没有arguments,caller,callee
-
箭头函数通过call和apply调用,不会改变this指向,只会传入参数
-
箭头函数返回对象时,要加一个小括号
var func = () => ({ foo: 1 }); //正确 var func = () => { foo: 1 }; //错误 -
箭头函数在ES6 class中声明的方法为实例方法,不是原型方法
class Super{
sayName =()=>{
//do some thing here
}
}
制作不易,如果对您有帮助希望给个关注点点赞,就是对我最大的鼓励,如果有不对的请下方评论提出