加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

arrow function and bind

发布时间:2020-12-14 04:36:34 所属栏目:大数据 来源:网络整理
导读:Can you bind arrow functions? https://stackoverflow.com/questions/33308121/can-you-bind-arrow-functions ? ? You cannot "rebind" an arrow function. It will always be called with the context in which it was defined. Just use a normal functio

Can you bind arrow functions?

https://stackoverflow.com/questions/33308121/can-you-bind-arrow-functions

?

?

You cannot "rebind" an arrow function. It will always be called with the context in which it was defined. Just use a normal function.

From the ECMAScript 2015 Spec:

Any reference to arguments,super,this,or new.target within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function.

?

箭头函数中的this与词法域绑定, 即使使用bind企图改变this,也是徒劳的。

?

To be complete,you can re-bind arrow functions,you just can‘t change the meaning of this.

bind still has value for function arguments:

((a,b,c) => {
  console.info(a,c) // 1,2,3
}).bind(undefined,1,3)()

Try it here: http://jsbin.com/motihanopi/edit?js,console


箭头函数this确定, 普通函数中的this,由调用场景/对象确定。

如果也想模拟arrow函数效果, 可以使用bind接口,在定义的时候, 就把this绑定到词法中的this:

function (){

}.bind(this)

?

箭头函数不该使用场景

https://dmitripavlutin.com/when-not-to-use-arrow-functions-in-javascript/

Defining methods on an object

Callback functions with dynamic context

Invoking constructors

Too short syntax

?

箭头函数该使用场景

函数短小

函数式计算的入参

需要确定this为词法域的

https://www.imooc.com/article/20607

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读