nodejs es6怎么使用ES6 中增加的解构

2016该如何学习nodejs?
题主是个前端小白啊,趁最近工作不忙。想把nodejs学了。看网上的中文教程都很老了,也可能是我没找到。听说nodejs可以用es6了,但是这类的介绍文章少之又少。希望大牛能给个指点,给个方向。另外JavaScript基础就刷过高程和权威指南。
资料的话,还是原版doc赛高,也绝对不会过时。技术人员不能害怕英语,而且讲道理的话看看文档也并不需要多高的英文水平。除了看文档,造轮子也是有效的学习方法。首先要明确,学习nodejs最重要的不是仅仅学些框架和工具,而是学习nodejs本身,学习它和os交互的api、学习它的开发理念。学这些东西的重要途径就是造轮子,然后想造轮子当然也得看文档不然啥都写不出来。那么造些什么轮子好呢?对于新手可以先从模仿开始,用着框架、工具什么的然后自己写出一样的或者简化版出来。不要对那些框架望而生畏,比如现在nodejs开发的半壁江山express,其实就是封装了一下常用的http api,然后提供了一个中间件风格的脚手架让人可以很方便的写插件。对于新手,不能强求一开始就写出个express,但是完全可以首先以“能用”为目标封装一下原生api,然后自己用自己封装的东西写出个类似个人博客的东西。在自己写自己用的过程中(这个过程学名叫“狗食”)发现自己写的东西的不足从而改进。比如我的个人博客()就是自己写的web框架()这个过程中,你不仅可以学到node的api,还可以熟悉http协议,了解session、缓存之类的知识,了解常见设计模式,走向人生巅峰…
官网的doc是我最常逛的,现在也是。es6的文档还是去moz上看。es6大概的文档可以看 @阮一峰 的。最最最重要的锦囊级的点:到github上看nodejs的代码,不难看,可读性很高,当你疑惑一些实现的时候,上面肯定可以回答你。而且可以学到一些很强大的nodejs技巧。
多实践,造些轮子:1、实现自己的命令行小工具,比如维护一些静态工程模板、自动构建自动同步项目什么的;2、写自己的Web Server,服务端模板什么的;3、写些爬虫,抓到的数据往MongoDB或者MySQL里面塞;4、写一个容器程序,托管你的众多服务,有时候一个服务的全面性不如多个服务可分离,解决一些业务不能老是重启的问题,解决你懒得做新服务的惰性;5、用如nw.js等GUI技术写一个项目资源管理器,集成你的命令行工具;再补充一个,做一个微信公众号网站开发,时下很实用的技术;
绝对的良心课程:这个课程基于NodeJS和Express框架,通过实例的项目案例,你可以学到开发一个成熟Web应用所需的所有关键知识和经验:开发环境的建立与项目管理:Git, npm, GruntJavaScript编程基础:基本语法、面向对象特性前端开发技术:HTML、CSS、Bootstrap和JavaScript基础Express框架:URL路由、模板、表单、Session、拦截器等数据访问:MongoDB应用的测试和生产环境的部署包含以下内容:第1课 第2课 第3课 第4课 第5课 第6课 第7课 第8课 第9课 第10课 第11课 第12课 第13课 第14课 第15课 第16课 第17课 第18课 第19课 第20课 第21课 第22课 第23课
跟2015年应该一样我感觉。
深入浅出nodejs+APUE
为什么没人提node school呢 感觉对初学者真对蛮不错的。顺便做下软广,我的node school解决方案完全符合airbnb的es6标准
推荐一本书,深入浅出nodejs 。对一个新手来说,有一本书系统的带你了解nodejs 能起到事半功倍的效果。书中的内容也许网上都能找得到,但是不看书的话,你不知道去哪里找,甚至不知道在google 上搜什么字才能找到自己想要的答案
已有帐号?
无法登录?
社交帐号登录更多公众号:SAP_cn每天为您精选1-2条关于SAP的最新新闻或技术文章推送给您,同时也会有多位业内资深人士在线为您解答各种疑难问题,并且会为您提供最新最可靠的招聘信息。QQ群:。最新文章相关推荐对这篇文章不满意?您可以继续搜索:百度:搜狗:感谢您阅读如何在2016年成为一个更好的Node.js开发者,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!中国领先的IT技术网站
51CTO旗下网站
Node.js 4.0 中的 ES 6 特性介绍
Node.js 4.0.0 已经发布了。这是和 io.js 合并之后的首个稳定版本,它带来了一系列的新特性,支持 ES 6的大部分特性。已经有很多 ES 6 的特性介绍了,这里我们介绍一下该怎么使用它们。
作者:来源:LCTT| 10:17
。这是和 io.js 合并之后的首个稳定版本,它带来了一系列的新特性,支持 ES 6的大部分特性。已经有很多介绍了,这里我们介绍一下该怎么使用它们。
1. 模板字符串
如果你要在 JavaScript 中创建多行字符串,你可能会使用如下的语法:
var message = [
'The quick brown fox',
'jumps over',
'the lazy dog'].join('\n');
对于少量字符串这还算合适,但是如果比较多就会显得混乱。不过,有个聪明的开发者提出了一个叫&&的技巧:
var multiline = require('multiline');var message = multiline(function () {/*
The quick brown fox
jumps over
the lazy dog*/});
幸运的是,ES 6 为我们带来了:
var message = `
The quick brown fox
jumps over
the lazy dog`;
此外,它还给我们带来了字符串内插:
var name = 'Schroedinger';// 不要这样做 ...var message = 'Hello ' + name + ', how is your cat?';var message = ['Hello ', name, ', how is your cat?'].join('');var message = require('util').format('Hello %s, how is your cat?', name);// 应该这样做 ...var message = `Hello ${name}, how is your cat?`;
在 ES5 中定义类看起来有点奇怪,也比较麻烦:
var Pet = function (name) {
this._name = name;};Pet.prototype.sayHello = function () {
console.log('*scratch*');};Object.defineProperty(Pet.prototype, 'name', {
get: function () {
return this._name;
}});var Cat = function (name) {
Pet.call(this, name);};require('util').inherits(Cat, Pet);Cat.prototype.sayHello = function () {
Pet.prototype.sayHello.call(this);
console.log('miaaaauw');};
幸运的是,在 Node.js 中可以使用新的 ES6 格式:
class Pet {
constructor(name) {
this._name = name;
sayHello() {
console.log('*scratch*');
get name() {
return this._name;
}}class Cat extends Pet {
constructor(name) {
super(name);
sayHello() {
super.sayHello();
console.log('miaaaauw');
有 extends 关键字、构造子、调用超类及属性,是不是很棒?还不止这些,
3. 箭头函数
在函数里面对 this&的动态绑定总是会导致一些混乱,人们一般是这样用的:
Cat.prototype.notifyListeners = function () {
var self = this;
this._listeners.forEach(function (listener) {
self.notifyListener(listener);
Cat.prototype.notifyListeners = function () {
this._listeners.forEach(function (listener) {
this.notifyListener(listener);
}.bind(this));};
现在你可以使用胖箭头函数了:
Cat.prototype.notifyListeners = function () {
this._listeners.forEach((listener) =& {
this.notifyListener(listener);
4. 对象字面量
使用对象字面量,你现在有了很漂亮的快捷方式:
var age = 10, name = 'Petsy', size = 32;// 不要这样做 ...var cat = {
name: name,
size: size};// ... 而是这样做 ...var cat = {
此外,你现在可以很容易地&。
5. Promise
不用再依赖像&bluebird&或&Q这样的第三方库了,你现在可以使用&. 它们公开了如下 API:
var p1 = new Promise(function (resolve, reject) {});var p2 = Promise.resolve(20);var p3 = Promise.reject(new Error());var p4 = Promise.all(p1, p2);var p5 = Promise.race(p1, p2);// 显然p1.then(() =& {}).catch(() =& {});
6. 字符串方法
我们也有了一系列新的字符串功能:
// 在几种情况下可以替代 `indexOf()`name.startsWith('a')name.endsWith('c');name.includes('b');// 重复字符串三次name.repeat(3);
去告诉那些使用 Ruby 的家伙吧!字符串现在也&。
7. let 和 const
猜猜下列函数调用的返回值:
var x = 20;(function () {
if (x === 20) {
var x = 30;
return x;}()); // -& undefined
是的,&undefined。使用&let 替代&var&,你会得到预期的行为:
let x = 20;(function () {
if (x === 20) {
let x = 30;
return x;}()); // -& 20
原因是什么呢?&var&是函数作用域,而&let&是块级作用域(如大部分人所预期的)。因此,可以说&let&是一个新var。 你可以。
此外,Node.js 也了,它可以防止你为同一个引用赋予不同的值:
var MY_CONST = 42; // no, noconst MY_CONST = 42; // yes, yesMY_CONST = 10 // 使用了 const ,这就不行了
Node.js 4.0.0 带来了更多的 ES6 特性,我希望这七个例子可以吸引你升级到最新版本。
还有更多的语言特性呢(例如,maps/sets, 符号和生成器,这里只提到了一点)。你可以看看&。&赶快升级吧!
作者: Damien Klinnert
译者: wxy【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点热点热点热点热点
24H热文一周话题本月最赞
讲师:1人学习过
讲师:27人学习过
讲师:0人学习过
精选博文论坛热帖下载排行
本书是在《网管员必读―网络安全》第1版的基础上修改而成的。新版在保留第1版实用内容的基础上增加了大量新的实用内容,同时删除了一些过时...
订阅51CTO邮刊

我要回帖

更多关于 es6 数组解构 的文章

 

随机推荐