NodeJS 的构建工具层出不穷,因此了解一下陈旧事物的进展。
简介
es6: ecmscript6
新特性
- let 块级作用域,
注: es5中var声明的上全局范围的
- const 常量
- class 类
- extends 继承
- super 指代父类的实例
- arrow functions 语法糖
1
2
3
4
5/**
* 语法: (参数) => {执行代码}
**/
function(i){ return i + 1; } //ES5
(i) => { i + 1 } //ES6 - template string 模版字符
1
2
3
4
5
6
7/**
* 语法: `${变量}`
**/
const name = 'hocgin';
console.log(`this is template strnig
<b>${name}</b>
`); - destructuring
1
2
3
4
5
6
7
8let cat = 'ken'
let dog = 'lili'
let zoo = {cat, dog}
console.log(zoo) //Object {cat: "ken", dog: "lili"}
let dog = {type: 'animal', many: 2}
let { type, many} = dog
console.log(type, many) //animal 2 - default 默认值
1
2
3
4
5
6
7
8
9
10/**
* 语法:
* function <method name>(param = <default value>) {
* ...
* }
**/
function animal(type = 'cat'){
console.log(type)
}
animal(); - rest 可变参数
1
2
3
4
5
6
7
8
9
10/**
* 语法:
* function <method name>(...params) {
* ...
* }
**/
function animals(...types){
console.log(types)
}
animals('cat', 'dog', 'fish'); - import export 模块设计
es6 把一个文件当作一个模块, 一个模块可
export
多个变量, 因此不同的export
可对应不同的import
1 | // 导出模块 |