Node.js
Node.js 学习总结
为了答一套后端题目开始了解奇葩的 JS 语言,没想到前后花了1月的时间,搜集了大量资料。
虽然感觉已经达到入门状态,但很多资料其实并未完全理解,仅仅快速在脑中建立了一个索引,随用随取。
有句话说“需要翻书了解的知识,并不是自己的知识”,无奈 JS 技术发展太快太多,以我的精力真得很难短期完全吃透。
所以有关技术细枝末节的东西,还是建个索引算了,在实践中慢慢消化吧。
一、Node.js
Node.js 开发指南HOW/WHAT/WHY
有关服务端 Node.js 开发环境的入门书,很短(电子书没法用厚形容吧:))但很实用
深入浅出Node.jsWHAT/WHY
和上面的入门书配合,在深入了解一些特性的时候阅读很有帮助
JS发展的太快,有些新技术可能没有覆盖到,但仍然值得一读
二、Promise / 流程控制
Node.js最新技术栈之Promise篇WHAT/WHY
回顾JS流程控制的发展过程,从高一点的角度思考什么是 Promise ,为什么有 Promise ,以后的流程控制技术是什么。
JavaScript Promise迷你书HOW
完整而全面的介绍 Promise 的使用方法,以及优缺点,只了解 Promise ,这一本就跢了。
三、JavaScript 原型链、类、闭包、this
JavaScript 标准参考教程HOW
MDN HOW
JS基本语法教程 配合 MDN 当手册翻翻,个人感觉比犀牛书方便好懂得多
Principles of Object-Oriented JavaScriptHOW
当需要了解如何在JS中使用一些面向对象开发的技巧时,可以参考一下这本书
不过此书写于 2014 年,今天2016,ES6都发布一年了,所以有些新特性没有照顾到,但仍然十分值得读一读。
你不知道的JavaScript(上卷)HOW/WHAT
深入分析了JS中独特的技术点,this、闭包、原型链、类等都有详细深刻的分析
书中包含了很多作者的主观看法,但都十分有启发意义
另外,注意书中也有一些错误和过时的东西
比如附录A.2 class 陷阱
中
使用C.prototype.count++;
说明class 语法无法定义类成员属性
,但我认为定义类成员属性应该用C.count++
,此时就不存在作者所述问题
还有其中提到的 Function.prototype.toMethod 方法也已经废除
TODO JavaScript 语言精粹
TODO Effective JavaScript
上面两本书是我打算看,还没看的
四、ES6 / ECMAScript 2015
ES6 In DepthWHAT/WHY
ES6 In Depth - InfoQWHAT/WHY
上面两个文章是一样的,一中一英。原作者好像是开发ES6特性的那帮人,所以真正能做到深入介绍。
中文翻译的也很棒,所以原文和翻译都放出来
ECMA-262/6.0HOW
ES6标准文档,涵盖JS各种特性的细节实现,当对需要了解细节时,十分有参考价值
五、函数式编程
动态函数式语言精髓
有关编程语言分类的介绍,正在读,我目前的功力看起来还有些费劲
我觉得一个优秀的 工程师 应该了解一些编程语言演进的知识,不仅会写代码,还要明白为什么我们这样写代码,有没有其他更好的写代码的方法
六、工具
http://es6-features.org/#Lexicalthis
直接用示例代码对比 ES5 ES6 之前的特性,在我们了解到某个新特性,读完简介后还一头雾水的时候看应该会很有帮助
http://babeljs.io/repl/
可以将 ES6 代码翻译成 ES5 的翻译机