箭头函数与普通函数的差异

发布时间:2024年01月12日

一、箭头函数中的this指向

箭头函数的this指向通常有两种情况

  • 如果箭头函数处在一个普通函数之中,那么他的this指向与包裹他的外层函数的this指向一致。
  • 其他情况下箭头函数中的this都指向window
let obj = {
  fn:function(){
      console.log('我是普通函数',this === obj)   // true
      return ()=>{
          console.log('我是箭头函数',this === obj) // true
      }
  }
}
console.log(obj.fn()())

let obj = {
    fn:()=>{
        console.log(this === window);
    }
}
console.log(obj.fn())
// true

二、箭头函数不能当做构造函数,不能用new来创建实例。

三、箭头函数内没有普通函数绑定的arguments对象。

四、使用call、apply、bind无法改变箭头函数的this指向。

文章来源:https://blog.csdn.net/Mahuicool/article/details/135549411
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。