ES6/ES7学习笔记 --- node.js开发

时间:2021-10-23 15:09:17

ES6/ES7学习笔记 — node.js开发

最近开始学习Node.js开发,有很多基础知识和框架需要学习,所以打算将自己学习笔记记录下来,即可以和大家分享,也可以方便自己以后回顾知识。由于只是个人笔记,便不是详细的教程,有不懂的代码还请自行百度。

主要模块

  • babel-register
  • babel-preset-latest
  • babel-polyfill 添加了Promise、Object.assign等全局方法
  • babel-preset-stage-0 包含了0-3的stage,可根据需要添加,不同的stage封装了不同的插件,官方推荐是使用stage-1

介绍

es6/es7可以加快我们的开发速度,并且es7很好的配合了promise,async和await可以让我们更容易的进行异步操作。

代码介绍

合并对象或数组

方法一:
let o1 = { a: 1, b: 2, c: 3 };
let o2 = {...o1, d: 4}; // o2 = { a: 1, b: 2, c: 3, d: 4 }

let arr1 = [0, 1, 2];
let arr2 = [...arr1, 3]; // arr2 = [0, 1, 2, 3]

方法二:
let o1 = { a: 1, b: 2, c: 3 };
let o2 = Objcet.assign({}, o1, { d: 4 });
// o2 = { a: 1, b: 2, c: 3, d: 4 };

常量和变量定义

let a; // 变量
const b; // 常量

方法定义

let func1 = () => {};

类的创建

class A {
// 初始化
constructor(name) {
this.name = name;
}

// 自定义方法
func1() {
...
}
}

let a1 = new A('my name');

解构

let o1 = {a: 1, b: 2, c: 3};
const {a, b} = o1; // a = 1, b = 2

唯一键值

let id = Symbols('id'); // 生成一个唯一键位
let a = {};
a[id] = '唯一表示';

异步操作
async/await 配合Promise实现异步操作,注意需要引入babel-polyfill和stage-3以上,下面是个小例子

import 'babel-polyfill';

let sleep = (time) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(`sleep ${time} ms`);
}, time);
})
;
};

let start = async () =>
{
console.log('start');
let result = await sleep(2000);
console.log(result);
console.log('end');
};

start();

相关推荐博客

Babel 入门教程
ES6新特性概览
体验异步的终极解决方案-ES7的Async/Await