Node.js与ES6速记

ES2015新特性速记:

  1. 新的变量名let,常量名const
  • 类关键字class、extends、super
  • 模版字符串\hello ${name}` `
  • 箭头函数()=>{}
  • generator function *foo()=>{...yield bar;}
  • 函数参数默认值(arg = defaultValue)=>{}
  • 解构 [a, b, c] = [1, 2, 3]
  • 遍历数组数据 for...of

一、语法

1.变量

尽量使用let和const代替var

  • var:作用域自动提升到最近的function的花括号内
  • let:作用域限制在最近的花括号内

2.原型链

  • 给function添加属性和方法时,需要new的对象共享的都通过prototype属性添加,不需要共享的直接写在function(构造函数)里。
  • 不同方法的含义
  1. 类方法:在构造函数外部实现,调用方式类似C++静态函数
  2. 对象方法:在构造函数中实现,只能new的对象调用,类不能直接调用
  3. 原型方法:通过prototype实现,类通过prototype调用,对象直接调用

3.异步与回调

  • 使用Promise以避免出现回调金字塔

4.循环

  • 尽量不用for...in...语句遍历数组元素,因为会将Array通过prototype增加的函数遍历出来
  • 注意 forEach,every,some 的应用场合

5.generator生成器

  • 跟python的类似,有yield关键字和next()函数,可暂停函数执行
  • next方法的参数表示上一个yield语句的返回值
  • return方法可以终结遍历generator函数

二、模块

1.进程

  • 用child_process进行阻塞操作,使用process的on、send传递消息

2.文件

  • 小文件使用fs.readFile/fs.readFileSync,大文件使用fs.ReadStream
  • 逐行读取使用readline模块
  • 查询状态使用fs.stat/fs.statSync

3.通信

  • 继承或扩展EventEmitter完成自己的消息收发,使用emit发送,使用on接收

你可能感兴趣的:(Node.js与ES6速记)