新版犀牛书该不该入手?_犀牛书中文第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

智能推荐

stm32 里的0xFFFFFFul-程序员宅基地

文章浏览阅读3.3k次。表示常量类型的方法,就是放后面的;定义变量放前面。 “u”表示“unsigned”,无符号 “l”表示“long”,长整型 如果不加UL的话那就是默认的int型,UL后缀.也是一种强制转换方式.“SysTick_LOAD_RELOAD_Pos”代表“0” “SysTick_LOAD_RELOAD_Msk”代表“(0xFFFFFFul << SysTick_LOAD_RELOAD_Pos)”_0xfffffful

php正则替换首字符,php正则 字符怎么替换-程序员宅基地

文章浏览阅读77次。php正则 字符怎么替换2021-02-07 12:35:39php正则字符的替换方法:首先创建一个PHP示例文件;然后定义一个字符串;接着通过正则表达式“'/(\w+) (\d+), (\d+)/i'”将指定字符串进行替换即可。本文操作环境:windows7系统、PHP7.1版,DELL G3电脑。preg_replace 函数执行一个正则表达式的搜索和替换。语法mixed preg_repla..._php 判断开头的字符并替换

PyQT 跟我学做密码管理器(5)_pyqt-tool 密码-程序员宅基地

文章浏览阅读2.3k次。PyQT 跟我学做密码管理器(5) —— 备份数据到邮箱声明:本文借鉴https://blog.csdn.net/bigbennyguo/article/details/50755207 修改而来前言借鉴的文章是基于python2+pyqt4,本文是基于python3+pyqt5环境编辑器:Sublime Text3操作系统:win10Python3所需要的库:主要..._pyqt-tool 密码

浅谈Kaggle 当前算法趋势_kaggle 什么模型流行-程序员宅基地

文章浏览阅读1k次。浅谈Kaggle 当前算法趋势一年前我还在悉尼大学着实花费不少在房价预测的kaggle竞赛上,然而之后的一年,先是去聚宽做量化研究实习,接着在悉尼大学的最后一个学期我又抽风非要把商学院的物流方向读下来。于是好多次在kaggle上看到喜欢的竞赛头脑一热报了名,然后就没有然后了:(。近来回国找工作,同时考驾照(一直没考),终于有时间再看看kaggle。准备着手把喜欢的竞赛项目做一做,学一学;同时把..._kaggle 什么模型流行

【微信小程序】云开发+三级联动选择器_三级联动选择器 bed-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏9次。目录前言一、数据结构二、Wxml代码三、关键JS代码(一)从数据库中获取数据(二)bindchange事件(三)bindcolumnchange事件(四)处理宿舍数据A.获取宿舍楼栋数据B.获取房号数据(数组与宿舍楼栋数组相对应)C.获取床位数据(数组与宿舍楼栋数组、房号数组相对应)四、整合(一)JS代码(二)Wxml..._三级联动选择器 bed

在linux上安装mysql,最全的安装过程_warning: file /usr/lib64/mysql/plugin/mysql_clear_-程序员宅基地

文章浏览阅读512次。安装linux系统下的mysql1.查看是否安装了mysql;rpm -qa |grep mysql #如果没有输出任何东西,证明没有安装2.找到liunx的版本,下载对应版本的mysql。cat /ect/redhat - release3.下载适合版本的文件来源。#获取我们的文件,通过在linux系统里输入命令和地址wget https://dev.mysql.com/get/mysql75-community-release-el8-1.noarch.rpm#通过找到mysql的官_warning: file /usr/lib64/mysql/plugin/mysql_clear_password.so: remove failed

随便推点

java中可以把代码做为返回值 参数吗_java中如何用函数返回值作为post提交的参数?...-程序员宅基地

文章浏览阅读100次。1.我想实现的功能是在java程序中导入HttpURLConnection类,然后将函数的值作为post方法要提交的参数,最后显示在显示台上。2.要用到的函数是自己写的可以显示实时计算机cpu、内存、硬盘利用率的一个方法,返回值是String.3.这是调用HttpURLConnection的代码> package com.httpclient;import java.io.BufferedR..._java返回结果了可以作为参数吗

JNI技术---clojure 调用C++库的方法_glpk c++-程序员宅基地

文章浏览阅读1.2k次。本文目的:加深理解—to JNI and clojure。JNI概述JNI,是Java Native Interface的缩写,中文为Java本地调用。 JavaTM Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the JavaTM_glpk c++

Scala中的Map操作_scala中map的用法-程序员宅基地

文章浏览阅读1.8k次。Scala中Map的常用方法_scala中map的用法

将一个浮点型的数通过串口发送出去_串口发浮点数-程序员宅基地

文章浏览阅读6.4k次,点赞19次,收藏85次。可能大家对发送字符串,整数,数组等待的没有问题,也想的明白,可是对于浮点型的数,或许有些不知所措(大佬绕过,小白我是这样)今天搞懂了,就记录下!其实发送原理还是通过字符串的形式发送出去的。只不过是我们将浮点型的数进行的拆解。ps:除运算与或运算不太懂的可以自己查查就可以了。假如一个浮点型的数 d = 25.6345879999我想将这个浮点型的数保留2位小数发送到串口,那我该怎么做呢?..._串口发浮点数

易语言PHP非对称加密,RSA非对称加密通信源码-程序员宅基地

文章浏览阅读573次。RSA非对称加密通信非对称加密是非常安全的一类加密算法TXQQ客户Duan的通信也用了椭圆曲线非对称加密(ECC)非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以..._易语言rsa算法

linux重定向文件输出到文件,【教程】linux 下重定向输入/输出到文件-程序员宅基地

文章浏览阅读879次。1. 引言今天考试遇到一个提交答案题,已经给出了答案检验器(已经编译了的,没有源码),但是手动输命令检验答案文件效率很低,我们最好是让检验器本来输出到屏幕的东西输出到文件,方便我们写程序自动检验。但是我们没有检验器源码,没法 freopen 怎么办呢 QvQ其实是 kb 提出了这个问题啦,下面我就来讲一下 linux(ubuntu)下的重定向输入/输出的方法。2. 输出重定向现在我们有个已经编译好..._重定向输出文件时怎么输出到文件的某一行

推荐文章

热门文章

相关标签