es6 的箭头函数 貌似很鸡肋(除了特定情况下可以少写一个self = this)。 真需要用this的时候完全帮不上忙啊,而且绕不过这个坑(bind都不行!)
你们都是怎么用箭头函数的??
es6 的箭头函数 貌似很鸡肋(除了特定情况下可以少写一个self = this)。 真需要用this的时候完全帮不上忙啊,而且绕不过这个坑(bind都不行!)
你们都是怎么用箭头函数的??
你说的对,并没有完全能解决作用域问题。对于纯js效果可能明显点,但对于新出的react的jsx写法,基本没用。即使在js部分能省略self=this,但是在render方法里也还需要bind一次才行,虽然看起来没有回调,其实render中dom的时间全部都是回调。这种方式没有es5中的var self= this好理解,所以说的鸡肋确实是这样。
es6 箭头函数不是直接bind(this), 而是箭头函数没有它自己的this值,箭头函数内的this值继承自调用函数时作用域...
箭头函数在js中可以解决很多问题, 但是也有例外, 比如在jquery的事件中, 就不能用箭头函数...
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
箭头函数好处:
省略 return
就像你说的,省略一个 self = this
第二点极为有用,想想你平时写回调的时候是不是常常因 this 指向不对而抓狂?
至于真正需要用 this 时,如对象成员方法中,不要用箭头函数,这不是它擅长的地方。