ES6:
- EMCAScript(ECMA、ES)標準
- JavaScript是EMCAScript的一種
ES6新語法:
1.變量/賦值
var 可以重復定義、不能限制修改、沒有塊級作用域
let 不能重復定義、變量、塊級作用域
const 不能重復定義、常量、塊級元素
解構賦值:
- 左右兩邊必須一樣,右邊得是個東西
- 必須定義和賦值同步完成
2.函數(shù)
普通:
function(函數(shù),參數(shù)){
函數(shù)體
}
箭頭函數(shù)
(參數(shù),參數(shù))=>{
函數(shù)體
}
- 如果有且僅有一個參數(shù),"()"可以省略
- 如果函數(shù)體只有一句話,而且是return,"{}"可以省略
默認參數(shù)
(a=xx,b=xx)
參數(shù)展開(剩余參數(shù)、數(shù)組展開)
1."三個點"的第一個用途:接收剩余參數(shù)function show(a,b,...c)
剩余參數(shù)必須在參數(shù)列表的最后
2."三個點"的第二個用途:展開一個數(shù)組
3.數(shù)組/json
數(shù)組--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('聯(lián)通');
}
if(filename.endsWith('.txt')){
alert('文本文件');
}else{
alert('圖片文件');
}
5.面向?qū)ο?/h4>
- class/constructor
- extends/super
- 普通函數(shù):根據(jù)調(diào)用我的人 this老變
- 箭頭函數(shù):根據(jù)所在的環(huán)境 this恒定
bind--給函數(shù)定死一個this
function show(a,b,...args){
}
6.Promise
Promise--異步、同步化
7.generator
生成器
ES7
8.async/await
9.模塊化 ES6
打包、編譯
ES6 -> ES5編譯 babel
打包 browserify
Java大牛 極客大全