ES6:
- EMCAScript(ECMA、ES)标准
- JavaScript是EMCAScript的一种
ES6新语法:
1.变量/赋值
var 可以重复定义、不能限制修改、没有块级作用域
let 不能重复定义、变量、块级作用域
const 不能重复定义、常量、块级元素
解构赋值:
- 左右两边必须一样,右边得是个东西
- 必须定义和赋值同步完成
2.函数
普通:
function(函数,参数){
函数体
}
箭头函数
(参数,参数)=>{
函数体
}
- 如果有且仅有一个参数,"()"可以省略
- 如果函数体只有一句话,而且是return,"{}"可以省略
默认参数
(a=xx,b=xx)
参数展开(剩余参数、数组展开)
1."三个点"的第一个用途:接收剩余参数function show(a,b,...c)
剩余参数必须在参数列表的最后
2."三个点"的第二个用途:展开一个数组
3.数组/json
数组--5种
map
映射:一个对一个
[18, 67, 98, 25, 17, 96] => [false, true, true, false, false, true]
reduce
汇总:一堆->一个
filter
过滤:[12,5,88,37,21,91,17,24]
forEach
遍历:
Array.from([array-like])=>[x,x,x]
json
- 简写:名字和值一样的,可以省略
- function可以不写
4.字符串
字符串模板:植入变量、任意拆行
if(sNum.startsWith('135')){
alert('移动');
}else{
alert('联通');
}
if(filename.endsWith('.txt')){
alert('文本文件');
}else{
alert('图片文件');
}
5.面向对象
- class/constructor
- extends/super
- 普通函数:根据调用我的人 this老变
- 箭头函数:根据所在的环境 this恒定
bind--给函数定死一个this
function show(a,b,...args){
}
6.Promise
Promise--异步、同步化
7.generator
生成器
ES7
8.async/await
9.模块化 ES6
打包、编译
ES6 -> ES5编译 babel
打包 browserify
Java大牛 极客大全