简介
你将学习本章包含的主题,其中包括探索各种函数,如箭头函数和高阶函数。
几年前,《纽约时报》请一位资深家具匠人对宜家、塔吉特等折扣零售商的家具进行评测。
毫不意外,这位工匠并不满意。他发现木料表面处理有问题,螺丝容易松脱,还有其他诸多缺陷。令人惊讶的是,他注意到一处漆面剥落,由此推断出这件家具是在切割之前就已涂漆,且用于切割木材的刀具十分钝。仅仅一片剥落的漆皮,就让他洞察到了整个制作流程和所用工具的情况。
真正精通自己技艺的人,能看到常人看不到的东西。
本章内容包括什么?
在本章中,你将学习如何掌握函数,并在此过程中,发现一些你以前从未考虑过的编程思路。问题会逐渐消失,新想法也会不断涌现。
函数如此常见,以至于我们很容易忽视它们。但在 JavaScript 中,函数却与众不同。你可能自认为已经掌握了函数的用法,但你会发现它们的能力远超你的想象。本章不讲基础内容,而是带你探索函数那些你未曾尝试过的使用方式。
你将首先学习如何编写可测试的代码。可测试的函数更加清晰、易于维护,但要掌握这种写法需要付出一些努力。
接着,你会重新审视箭头函数,了解如何将参数相关的所有理念应用到单行函数中。
然后,你将深入学习高阶函数——即返回函数的函数——并掌握两种技巧,帮助你固定信息,写出清晰且可复用的函数。
最后,你将再次回到箭头函数,学习如何用它解决一个隐蔽的上下文问题,如果你没有提前预料到,这个问题会让你抓狂不已。
函数、柯里化、高阶函数——这些概念能让你从普通的 JavaScript 编写者蜕变为狂热爱好者。它们正是我最钟爱的 JavaScript 特性。
当你学完本章后,看待问题的方式将焕然一新。当某个表达式返回 undefined 时,你不再困惑;遇到上下文问题,你会想到用箭头函数来解决;当变量无法访问时,你会意识到这是闭包的绝佳机会。技艺精湛者眼中的世界与常人不同。当你真正掌握了函数之后,你将用全新的视角看待所有问题。
在接下来的技巧中,你将学习如何编写可测试的代码。