ES6中箭头函数的注意点和基本用法

箭头函数

应用场景:用于替换匿名函数

基本用法

有一个参数名的匿名函数

var fn = function(name) {
console.log(name)
}
// 等价于
var fn = name => {
console.log(name)
}
// 也等价于
var fn = (name) => {
console.log(name)
}

有两个或以上的参数的匿名函数

var q = function(naem, age) {}
// 等价于
var q = (naem, age) => { //切记:()不能省略
}

箭头函数中关于this的指向

var p = {
age: 18,
// es6中对象方法的箭头函数表达形式
run: () => {
setTimeout(() => {
console.log(this); //window
}, 100)
},
travel: function() {
// this=>p
setTimeout(() => {
console.log(this); //p
}, 100)
},
// 
es6中对象方法的箭头函数表达形式的简写形式
say() {
console.log(' ssst', this) //p
setTimeout(() => {
console.log(this); //window
}, 100)
},
}
p.run();
p.travel();
p.say();
箭头函数有几个使用注意点。

1. 函数体内的this对象, 就是定义时所在的对象, 而不是使用时所在的对象。
2. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
3. 不可以使用arguments对象, 该对象在函数体内不存在。 如果要用, 可以用 rest 参数代替。
4. 普通的匿名函数,或者说具名函数都可以决定this的值,而箭头函数不可以
5. 淘汰:不可以使用yield命令, 因此箭头函数不能用作 Generator 函数。Generator 函数x现在经常用async替代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值