美文网首页
你不知道的箭头函数

你不知道的箭头函数

作者: wade3po | 来源:发表于2019-02-07 16:29 被阅读47次

    自从es6出了箭头函数之后,在我所见的能支持es6或者能间接支持es6的各种项目也好,各种大佬教学也好,几乎都用上了箭头函数。

    箭头函数给我们最大的一个用法就是更简洁了和this的指向问题,单其实箭头函数跟普通函数比起来还是有一些我们没注意过的地方。

    Es6的语法,我就不说了,相信很多人都用的很熟练了。这边说说它的好处或者说是优点和一些我们平时用不到的东西。

    Es6箭头函数更简短:

    把function变成了=>,在一些情景下还可以省略()和{},所以更简洁是可见的。

    This的指向:

    用箭头函数的大部分是冲着这个来的,可以说是监听函数最大的作用了。监头函数不会创建自己的this,它会一层一层网上查找,直到不是箭头函数所在的作用域的this。

    call、apply、bind无效:

    因为箭头函数没有自己的this,所以用call、apply和bind去改变this指向是无效的,只能传递参数。通过call、apply、bind调用会被忽略第一个参数。

    没有arguments:

    var foo=(a,b)=>{return arguments[0]*arguments[1]}

    console.log(foo(6,7))

    直接输出undefined,因为箭头函数是没有arguments的。

    不能new:

    箭头函数不能作为构造器去new一个对象,会直接报错。

    没有原型:

    我们知道在JavaScript中所有对象都有原型prototype,,而箭头函数没有,你打印输出原型得到undefined。

    不能换行:

    箭头函数的参数和箭头不能换行

    Var fun = ()

    => 1

    这样是不对的。

    箭头函数还有另外好几个是用不上的概念,这边只是结束一下我们应该了解的,虽然开发的时候可能不会涉及。

    欢迎关注Coding个人笔记 公众号

    相关文章

      网友评论

          本文标题:你不知道的箭头函数

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