上QQ阅读APP看书,第一时间看更新
2.1.2 高阶函数
函数在JavaScript中被当作一种常见的数据类型进行处理,我们常说函数是JavaScript等语言中的一等公民(First-class)。函数可以被用在其他基础数据类型出现的地方。
函数可以作为入参和返回值出现(代码清单2-1中,单例方法返回了一个函数),这样使得用函数生产函数、对函数迭代推演成为可能。这也是函数可以在运行时堆叠,产生所谓高阶调用的原因。我们称函数的嵌套高阶调用为高阶函数(High Order Function),高阶函数可以说是编程语言便捷践行函数式的基础。
相对于这种可以高阶调用的方法,我们无法对Java类中的非静态方法进行处理加工(在类方法的设计上就不支持)。我们需要对JavaScript的Class中的内部方法进行一些额外的处理,以实现此语法糖。
First-class函数可以堆叠形成的高阶函数,也被借鉴到前端其他领域,比如在React中我们会遇到的高阶组件HOC。