前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你不知道的箭头函数

你不知道的箭头函数

作者头像
wade
发布2020-04-24 10:50:15
2660
发布2020-04-24 10:50:15
举报
文章被收录于专栏:coding个人笔记coding个人笔记

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

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

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

Es6箭头函数更简短:

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

This的指向:

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

call、apply、bind无效:

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

没有arguments:

代码语言:javascript
复制
var foo=(a,b)=>{return arguments[0]*arguments[1]}
console.log(foo(6,7))

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

不能new:

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

没有原型:

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

不能换行:

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

Var fun = ()

=> 1

这样是不对的。

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

(完)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档