美文网首页
箭头函数——为什么存在?

箭头函数——为什么存在?

作者: _贺瑞丰 | 来源:发表于2018-07-08 15:47 被阅读11次

1. 是什么

提供了简写语法糖

  • (a,b)=>{}
  • a=>a+1
    有很多精简的写法,单参数可以不写(),单语句可以不写{},省略return

没this参数

解决了this的问题

  • 取消了this,this是函数call的第一个参数
  • this不写,会默认按一定规则传参
  • this在封装后的代码中不可控,你无法确定this是什么
funcA(arg1,arg2) = funcA.call(this,arg1,arg2) this没传就是空的,一般是调用的东西
let obj = {
    name:'obj'
    hi(){
        console.log(this.name)
    }
}
obj.hi.call(obj)

往往很多时候 我们定义的this很不可控的,你不使用call显示传递this,那么this默认传递与函数封装了this

var controller = {
    el:'app'
  init(){
      $(this.el).on('click',this.onClick)
  },
  click(){console.log('asd')}
}
controller.init()
controller.init.call(controller)

上面两个this是一样的吗? 很多封装过的函数,你不知道 this 传递了什么参数,要么看文档,要么看源码

解决上面的问题 在init内部将this保存下来,保持this的统一
使用箭头函数,就消除this,内外部就统一了

最终效果

  • 函数写起来很简洁
  • this变成了一个普通的参数,少了很多坑,新手向友好

实践

let array = [1,2,3,4,5]
array.map(num=>num*num)

相关文章

  • 箭头函数

    箭头函数 为什么使用箭头函数

  • 箭头函数——为什么存在?

    1. 是什么 提供了简写语法糖 (a,b)=>{} a=>a+1有很多精简的写法,单参数可以不写(),单语句可以不...

  • 箭头函数和普通函数的主要区别是什么?

    箭头函数和普通函数的主要区别: this的指向问题,箭头函数是不存在this的(也是箭头函数和普通函数最主要的区别...

  • 解析 ES6 新增语法:奇妙的箭头函数

    什么是箭头函数?看下面的语法。 为什么要用箭头函数?一个字:短。 1 箭头函数最大的优点就是简短。 2 箭头函数不...

  • 箭头函数与普通函数的区别你真的明白吗

    箭头函数与普通函数的区别? 构造函数可以使用new 生成实例,那么箭头函数可以吗?为什么?/答: 箭头函数比普通函...

  • 箭头函数

    箭头函数相比函数表达式具有较短的语法并以词法的方式绑定 this。箭头函数总是匿名的。 为什么要使用箭头函数1 更...

  • 箭头函数和普通函数有什么区别?

    题目:箭头函数和普通函数有什么区别?箭头函数为什么不能用作构造函数? 参考答案 区别: 箭头函数在一些情况下书写更...

  • JS中的this指向

    首先来看一个例子: 首先只有在函数中才存在this指向问题1、箭头函数,this是包裹箭头函数的那个函数的this...

  • Javascript 箭头函数

    箭头函数 ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Funct...

  • 箭头函数

    箭头函数 ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Funct...

网友评论

      本文标题:箭头函数——为什么存在?

      本文链接:https://www.haomeiwen.com/subject/adeouftx.html