没有参数的ES6箭头功能

科菲弗斯

考虑

function f() { ... }

而另一个函数则期望像f这样的函数

function dosomething(callback) { ...; callback() } 

期望f(可以在setTimeout中设置dosomething的示例)

调用dosomething并传递f,两者之间是否有区别:

dosomething(f);

dosomething(() => f());

这些选项是否可取?

昆汀·罗伊(Quentin Roy)

包装功能(第二个示例)是否为箭头功能在这里不会改变任何事情。

但是,此包装函数对于禁止参数传递很有用:在第一种情况下,如果callback使用参数调用,则将其赋予f在第二种情况下不行。一种替代方法是限制所传递参数的数量:dosomething((a, b) => f(a, b));

它也可以用于防止this注入:在第一种情况下,doSomething可以bind f更改其thiscallback.bind(whatever))。使用包装功能(无论是否具有箭头),它都不会起作用,并且f将保持其this(全局上下文)的doSomething作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ES6,如果有箭头功能

来自分类Dev

带有箭头功能es6的setTimeout ReactJS

来自分类Dev

ES6箭头功能

来自分类Dev

es6-箭头功能-没有重复的命名参数

来自分类Dev

ES6使用箭头功能分配变量

来自分类Dev

ES6的箭头功能中的“ this”指的是什么?

来自分类Dev

如何更改ES6箭头功能的“ this”指向的内容?

来自分类Dev

带括号的ES6箭头功能

来自分类Dev

ES6箭头功能意外令牌

来自分类Dev

javascript es6双箭头功能

来自分类Dev

ES6使用箭头功能分配变量

来自分类Dev

ES6箭头功能意外令牌

来自分类Dev

带有ES6箭头功能的jQuery .each()函数

来自分类Dev

在带有Foo.prototype的节点0.11中使用ES6箭头功能

来自分类Dev

JavaScript ES6:测试箭头功能,内置功能,常规功能?

来自分类Dev

使用Babel.js将ES6箭头功能编译为Es5

来自分类常见问题

ES6对象中的方法:使用箭头功能

来自分类Dev

如何在Safari中使用箭头功能运行ES6代码?

来自分类Dev

流星ES6胖箭头功能和onCreated中的“ this”无法正常工作

来自分类Dev

如何在ES6中递归编写箭头功能?

来自分类Dev

为什么`this`在ES6箭头功能中不起作用?

来自分类Dev

即使不使用ES6箭头功能,它们是否仍会关闭“ this”?

来自分类Dev

.call应该如何用于ES6箭头功能(根据标准)?

来自分类Dev

跳至Sublime文本编辑器中的ES6箭头功能

来自分类Dev

使用ES6箭头功能获取选中的复选框值的列表

来自分类Dev

无法在反应中使用粗箭头功能(ES6)

来自分类Dev

es6 中的默认值不适用于箭头功能

来自分类Dev

ECMAScript 6箭头功能

来自分类Dev

如何将ES6箭头功能与Promise绑定一起使用(bluebird)

Related 相关文章

热门标签

归档