读者须知
由于这是一本专注于JavaScript本身及其运行环境的书,而JavaScript语言主要是一门面向Web应用程序开发领域的编程语言,即使是用于开发桌面应用程序的Electron框架,它在本质上也可以被视为一个针对Google Chromium浏览器(Chrome浏览器的开源版本)的扩展,它的用户界面布局也主要依靠HTML、CSS及其扩展技术来完成。所以在阅读本书之前,希望读者已经掌握了与HTML和CSS相关的基础知识。
同样,由于本书只专注于讨论如何使用JavaScript语言与其运行环境提供的接口,因此不打算过多地涉及时下五花八门的开发框架。这样做主要是基于两个方面的考虑。第一,介绍JavaScript语言及其运行环境本身就足以撑起一本结构完整、内容丰富的书了。如果再加上众多开发框架的介绍,就会淡化这本书的主题,并使其臃肿不堪。第二,JavaScript社区的开发框架不仅五花八门,选择众多,而且更新换代极为迅速。这意味着,即使这本书介绍了客户端的React框架、服务端的Express框架、桌面端的Electron框架,也很有可能到这本书写完并最终出版之时,开发者已经有了更好的选择。正所谓“授之以鱼不如授之以渔”,读者真正应该掌握的是快速学习新框架的能力,这就需要读者了解这些框架的设计思路,理解为什么决定开放那些接口给用户,以及为什么要对用户隐藏那些实现,从而习得开发框架的能力。换句话说,虽然不必重复发明轮子,但一个优秀的工程师或设计师应该了解轮子是如何被发明的,这样才能清楚用什么样的轮子构建什么样的车。
另外,要想学好一门语言,无论是英语、汉语这样的自然语言还是C/C++、Java、JavaScript这样的编程语言,最好的办法就是尽可能地在实践中使用它,在实际需求的驱动下模仿、试错并总结经验。所以本书不鼓励读者使用可直接复制和粘贴的代码示例,我更希望读者“自己动手”去模仿本书提供的示例,亲手将自己想要执行的代码输入计算机中,并观察它们是如何工作的,然后试着修改它们,并验证其结果是否符合预期。如果符合预期;就总结当下的经验;如果不符合预期,则去思考应该做哪些调整使其符合预期。如此周而复始,才能让学习事半功倍。