新版犀牛书该不该入手?_犀牛书中文第6版-程序员宅基地

技术标签: web前端  编程语言  前端  javascript  

今天主要是想通过和第六版的对比的形式来看看第七版犀牛书有什么变化。首先最大的变化就是书变薄了!从原来的 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 标准库一章,作者按照新的维度将新特性集合、映射与正则、日期、Error、JSON、国际化、console API、URL API、计时器等内容整合到了这里。

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

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

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

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jinmu520/article/details/115250656

智能推荐

SpringBoot实现注册操作_springboot不同身份注册-程序员宅基地

文章浏览阅读2.1k次,点赞3次,收藏10次。这段时间开始做后台接口的测试都是在自己电脑上做的一些简单的界面来测试自己写的接口有没有出现什么问题。_springboot不同身份注册

oracle em-application.log 占用空间_oracle中em-application.log-程序员宅基地

文章浏览阅读2.3k次。运行一段时间后,发现磁盘空间剧减,除了数据占用空间外,日志文件也占用空间.如下两个文件占用空间较大home/oracle/rda/outpu/*.loghome/oracle/product/10.2.0/db/oc4j/j2ee/OC4J_DBConsole_gxdb1_gxdb1/log/http-web-access.loghttp-web-access.log_oracle中em-application.log

mini2440 简单按键中断模式驱动程序_make -c $(kern_dir) m=`pwd` modules clean-程序员宅基地

文章浏览阅读853次。MakefileKERN_DIR = /home/grh/kernel_source_code/linux-2.6.32.2all : make -C $(KERN_DIR) M=`pwd` modules arm-linux-gcc key_interrupt_app.c -o key_interrupt_appclean : make -C $(KERN_DIR) M=`pwd_make -c $(kern_dir) m=`pwd` modules clean

subprocess.Popen BrokenPipeError: [Errno 32] Broken pipe-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏9次。BrokenPipeError: [Errno 32] Broken pipe在向管道中写入参数的时候,一段时间正常写入数据后,若长时间未写入数据,则会报错BrokenPipeError: [Errno 32] Broken pipe,且该进程会进入睡眠原代码 # 定义管道及ffmpeg命令,输出rtmp流的时候使用command = ['ffmpeg', '-y', '-v', '24', # 日志显示等级 '-f', 'rawv_brokenpipeerror: [errno 32] broken pipe

身价1亿日元的“机器人观音”问世,为普罗大众讲解佛义 ...-程序员宅基地

文章浏览阅读81次。只有人们想不到的,没有机器人做不到的。 日前,日本高台寺展示了智能机器人观音“Minder”,旨在向现代人简单易懂的阐明佛教的教义。 据了解,“Minder”由大阪大学教授石黑浩等人协助研发,研发费用为1亿日元(约600万人民币)。外形方面,“Minder”高约195厘米、重约60公斤,头部、手臂和躯体可以转动,左眼内装有摄像头。 研究..._养猪起家身价1296亿

pandas获得指定行_pandas取dataframe特定行/列_pandas选取特定值所在的行-程序员宅基地

文章浏览阅读1.6w次,点赞13次,收藏96次。转自他人博客:https://blog.csdn.net/weixin_39586825/article/details/1117585061.按列取、按索引/行取、按特定行列取import numpy as npfrom pandas import DataFrameimport pandas as pddf=DataFrame(np.arange(12).reshape((3,4)),index=[‘one’,‘two’,‘thr’],columns=list(‘abcd’))df[‘a’]_pandas选取特定值所在的行

随便推点

php 判断post编码格式,php如何判断get或post的值是否存在-程序员宅基地

文章浏览阅读717次。php如何判断get或post的值是否存在,这个问题困扰了我很长时间,是用isset还是empty还是is_array啥的,请大神给一个指点回复内容:php如何判断get或post的值是否存在,这个问题困扰了我很长时间,是用isset还是empty还是is_array啥的,请大神给一个指点isset()是判断这个变量是否定义,empty()是在这个变量已经定义的情况下(如果变量没定义,将报错var..._isset empty $_get

计算机系统课程 笔记总结 CSAPP第七章 链接(7.1-7.13)_csapp 7.6.1-程序员宅基地

文章浏览阅读2.6k次,点赞16次,收藏45次。GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理(2.1-2.2) 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理(2.3-2.4) 计算机系统课程 笔记总结 CSAPP第三章 程序的机器级表示(3.2-3.4) 计算机系统课程 笔记总结 CSAPP第三章 程序的机器级表示(3.5-3.7) 计算机系统课程 笔记总结 ..._csapp 7.6.1

Redis总结-程序员宅基地

文章浏览阅读248次。目录概述Redis是什么?简述它的优缺点?为什么要使用Redis/缓存Redis为什么这么快?Redis相比Memcached有哪些优势?Redis的常用场景有哪些?数据类型Redis的数据类型有哪些?线程模型Redis为何选择单线程?Redis真的是单线程?Redisv6.0为何引入多线程?过期键的删除策略Redis过期键的删除策略?过期键的删除策略都有哪些?内存相关MySQL里有2000w数据,redis中只能存20w的数据,如何保证redis中的数据都是热点数据?Redis内存淘汰机制?Redis如何

nginx平滑重启和升级-程序员宅基地

文章浏览阅读77次。平滑重启 kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`平滑升级nginxcd /yujialinwget http://nginx.org/download/nginx-1.0.6.tar.gztar zxvf nginx-1.0.6.tar.gzcd nginx-1.0.6/usr/local/www/nginx/sbin/nginx -..._php 平滑升级

什么是ip6-程序员宅基地

文章浏览阅读3.9k次。相比于IPv4来说,IPv6的地址更加充足,安全性也更高,可以解决如今IP地址枯竭的问题,为物联网时代的发展提供网络基础;Pv6具有更大的地址空间,使用更小的路由表,加入了对自动配置的支持。ipv6是什么Pv6是第六代互联网协议,被设计用于替代使用了30多年的第四代互联网协议的下一代IP协议。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展,所以出现了替代版本的IP协议。..._ip6

android bluetooth stack-enable_android bluetooth stack-enable-程序员宅基地

文章浏览阅读2.5k次。android bluetooth stack_android bluetooth stack-enable