javascript - es6 箭头函数 是定义时就绑定了this,这个特性貌似很鸡肋啊!
黄舟
黄舟 2017-04-11 11:36:18
[JavaScript讨论组]

es6 的箭头函数 貌似很鸡肋(除了特定情况下可以少写一个self = this)。 真需要用this的时候完全帮不上忙啊,而且绕不过这个坑(bind都不行!)

你们都是怎么用箭头函数的??

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
大家讲道理

箭头函数好处:

  • 省略 return

  • 就像你说的,省略一个 self = this

第二点极为有用,想想你平时写回调的时候是不是常常因 this 指向不对而抓狂?

至于真正需要用 this 时,如对象成员方法中,不要用箭头函数,这不是它擅长的地方。

天蓬老师

如果你想在一个新的函数内部用到当前的this,那就用箭头函数来做。

而如果新的函数里要用自己的this,那就不要用箭头函数。

迷茫

你说的对,并没有完全能解决作用域问题。对于纯js效果可能明显点,但对于新出的react的jsx写法,基本没用。即使在js部分能省略self=this,但是在render方法里也还需要bind一次才行,虽然看起来没有回调,其实render中dom的时间全部都是回调。这种方式没有es5中的var self= this好理解,所以说的鸡肋确实是这样。

天蓬老师

es6 箭头函数不是直接bind(this), 而是箭头函数没有它自己的this值,箭头函数内的this值继承自调用函数时作用域...

箭头函数在js中可以解决很多问题, 但是也有例外, 比如在jquery的事件中, 就不能用箭头函数...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号