无参数的ES6箭头功能
ES6 arrow function with no parameters
考虑
function f() { ... }
和另一个函数dosomething,期望函数像f
function dosomething(callback) { ...; callback() }
期望f(剂量计量的一个例子可以是setTimeout)
调用dosomething和传递f,之间有区别吗
dosomething(f);
和
dosomething(() => f());
这些选项中有哪个更可取?
包装函数(第二个例子)是否是箭头函数在这里没有改变。
然而,这个包装函数可以用于禁止参数传输:在第一种情况下,如果用参数调用callback
,它将被赋予f
。第二种情况则不然。另一种选择是限制传输的参数的数量:dosomething((a, b) => f(a, b));
。
它也可以用于预防this
注射:在第一种情况下,doSomething
可以bind
f
来改变其this
(callback.bind(whatever)
)。有了包装函数(无论是否有箭头),它都不会有任何效果,无论doSomething
做什么,f
都会保留他的this
(全局上下文)。
相关文章:
- 如何在ASP.Net中使用ES6功能
- 无参数的ES6箭头功能
- 如何在启用ES6功能的情况下运行Node.js应用程序
- jslint --edition=最新的意外ES6功能.常量
- CoffeeScript 是否支持 ES6 中的生成器功能?
- ES6导出默认功能
- 导入功能 es6 Javascript
- Angular 2.0 :Typescript 是否支持 ES6 的所有功能
- 对箭头功能的理解es6
- ES6箭头功能
- 在所有浏览器支持下使用ES6功能
- D3.js事件侦听器无法访问“”;这个“;当使用ES6箭头功能时
- 在 Expressjs、Node 中使用 ES6 功能
- 这是ES6的新功能吗
- ES6对象.forOwn循环遍历对象键的功能
- ES6模块语法用于多个"static"功能
- ES6导出覆盖功能
- ES6导出和导入功能
- ES6地图功能
- ES6中是否有收集迭代器的功能,包括最终返回值