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大牛 極客大全