ES6 语法汇总

53 阅读1分钟

ES5 是对 JS 的修修补补

ES6/2015 新特性

作用域

    • 块级作用域
{
  let a = 1
  console.log(a)
}
    • 块级变量 let
    • 块级常量 const

箭头函数

const f = (a, b) => {
  console.log(a+b)
  return a+b
}
const f2 = (a, b) => a+b
const f3 = a => a * a

箭头函数中的this被作为普通变量看待

参数处理

  • 默认参数值
function fn(p='gorge', p2='eddy', p3='leo'){
  console.log(p, p2, p3)
}
fn()			//会打印出gorge eddy leo
  • 剩余参数
const fn2 = (...args) => {
  console.log(args)
}
fn2(1, 2, 3)
  • 展开运算符

模板字面量

  • 多行字符串

  • 字符串插值(可以插入变量)
let a = 13
console.log(`小明的年龄为${a}`)		//打印出13

解构赋值

  • 数组匹配
let a = 1;
let b = 2;
[a, b] = [b, a]				//交换 a b 的值
  • 对象匹配

模块

  • 导入
  • 导出

ES7/ 2016

  • Array.prototype.includes
const a = ['a', 2, 'sa']
a.includes('a') 				//true
  • ** 运算符
2 ** 3			//8
2 ** 4			//16

ES8 / 2017

  • async / await