美文网首页让前端飞
新版犀牛书该不该入手?

新版犀牛书该不该入手?

作者: 开跑车的程序员 | 来源:发表于2021-03-26 16:50 被阅读0次

    今天主要是想通过和第六版的对比的形式来看看第七版犀牛书有什么变化。首先最大的变化就是书变薄了!从原来的 1000 多页缩到了不到 600 页,篇幅变小的原因书中也交代了,如今互联网的普及,纸书已经没有必要将参考资料放入其中,直接看MDN 网站就可以了。

    第二个变化就是译者发生了变化,第七版的作者是拥有十五年技术翻译经验的李松峰,经典的“红宝书”《JavaScript高级程序设计》第 4 版也是出自其手。而第六版当年是淘宝前端团队做的翻译,当时正是 2011 年,十年之间发生了翻天覆地的变化,今天看了译者,无意中发现熟悉的云谦玉伯二位大佬赫然在列,如今二人已从淘宝到了蚂蚁,大佬们十年前的个人介绍也如此青涩:

    第三个变化就是内容了。内容上有非常大的更新,新增了类、模块、迭代器、生成器、Promise、async/await 等内容,并对章节进行了大幅度的调整。这里需要注意的一点是,Promise 在本书中被译为“期约”,倒是比较形象的译法。

    十年间,JavaScript 飞速发展,第六版还是基于 ES5 编写的。而从 2015 年起,ES6(2015)开启了 JavaScript 新的篇章,ECMAScript 的规范也改为了按年为单位发布,也就有了(ES2016、ES2017、ES2018、ES2019、ES2020),就在 3 月 9 日, ES2021 的最终功能集也尘埃落定,预计今年 6 月就会成为最新的 JavaScript 标准,详见我翻译的这篇文章。而且自从TC39 进程制定以来,ECMAScript 版本的重要性就降低了很多,而且随着版本的逐渐增加,对用户而言关注某个特性对应的 ES 版本也变得更加困难,所以我们也常以 ES6 代指 ES2015 之后的版本。

    纸质书最大的缺点就是无法如网站一样能够及时更新,尤其如 JavaScript 这样每年都有新功能成为新标准的语言,但是我们可以从这两个版本将尽十年的跨度,窥见 JavaScript 的发展,看到哪些是不变的,哪些又被时代洪流滚滚冲刷殆尽。

    学习是一个艰苦的过程,当然如果能把技术学成,最后也一定可以获得高薪工作。掌握一个好的学习方法,跟对一个学习的人非常重要。今后要是大家有啥问题,可以随时来问我,能帮助别人学习解决问题,对于自己也是一个提升的过程。自己整理了一份最全面前端学习资料,从最基础的HTML+CSS+JS到HTML5的项目实战的学习资料都有整理这是我的前端技术交流Q un+++++钱面是603----中间是985----后面是993----++++++++++++++有问题随时在里面问我,能给大家提出很多宝贵建议。

    下面是最新版的犀牛书目录脑图:

    对比第六版主要有如下要点:

    不变的主要还是词法结构类型值和变量表达式和操作符语句对象数组函数;这几个部分注意 ES6 新增的相关内容。

    模块单独成为一章,十年间 JavaScript 模块化技术层出不穷,终于迎来了 ESM,原生的模块时代已然到来。

    正则和子集与扩展被并入了JavaScript 标准库一章,作者按照新的维度将新特性集合映射正则日期ErrorJSON国际化console APIURL API计时器等内容整合到了这里。

    增加了迭代器生成器异步元编程章节,可见其重要程度。

    浏览器中的 JavaScript章节被保留,将第六版单独成章的 Window 对象、脚本化文档、脚本化 CSS、事件处理、脚本化 HTTP、客户端存储、多媒体、图形编程、HTML 5 API 整合到了这章。并删除了 jQuery 类库一章,jQuery 时代一去不复返了。

    第七版增加了Node 服务端 JavaScript一章,诞生在 2009 年的 Node 当时还不被作者重视,完全没体现在第六版中,而十年间 Node 的飞速发展给前端生态带来了翻天覆地的变化,借助 ES6 的定稿和 v8 引擎的加成,Node 也在 JavaScript 生态扮演了越来越重要的位置。

    其实这两年随着前端框架的相对稳定,前端的生态已经进入了成熟期,面对纷繁复杂的新技术,构建知识地图对前端小伙伴尤其重要,从经典的教程可以看出作者的梳理 JavaScript 的知识脉络,给我们的知识地图的构建提供了很重要的参考。新版犀牛书,值得购买。

    相关文章

      网友评论

        本文标题:新版犀牛书该不该入手?

        本文链接:https://www.haomeiwen.com/subject/cvphhltx.html