在平時(shí)開發(fā)的時(shí)候彩扔,靈活地使用ES6語法可以使開發(fā)者減少代碼量嫉髓,提高效率莹妒。這里列舉的是我們在開發(fā)過程中常使用ES6特性
- let / const
- 箭頭函數(shù)
- 默認(rèn)參數(shù)
- 結(jié)構(gòu)賦值
- 擴(kuò)展運(yùn)算符
- 類
- 字符串
- 數(shù)組
- Promise
在了解let/const之前铛绰,我們先來看下
var應(yīng)用
1赶站、重復(fù)聲明
var a = 1
var a = 2
console.log(a) //此時(shí)會(huì)因?yàn)橹貜?fù)聲明而輸出最后一個(gè)a的值幔虏,結(jié)果為2
2、聲明提前
console.log(b)
var b=2
由于var定義變量存在聲明提前贝椿,整個(gè)運(yùn)行過程變?yōu)?/p>
var b
console.log(b)
b=2
3想括、不能定義常量
4、沒有塊級(jí)作用域
let的應(yīng)用
1烙博、不能重復(fù)聲明
2瑟蜈、可以修改
3、存在塊級(jí)作用域
4渣窜、不存在預(yù)解析變量
const的應(yīng)用
1铺根、不能重復(fù)聲明
2、不可以修改
3乔宿、存在塊級(jí)作用域
4位迂、不存在預(yù)解析變量
箭頭函數(shù)
兩種形式:
當(dāng)參數(shù)只有一個(gè)的時(shí)候,()可以省略
當(dāng)參數(shù)只有一個(gè)return的時(shí)候详瑞,{ }可以省略
我們來看下具體的例子
//普通函數(shù)
function peopele(){
}
//箭頭函數(shù)1
let people=()=>{
}
//箭頭函數(shù)2
()=>{
}
下面的箭頭函數(shù)的幾個(gè)特點(diǎn)
1掂林、箭頭函數(shù)作為匿名函數(shù),不能作為構(gòu)造函數(shù)坝橡,不能使用new
var people = () => {
console.log("ok");
};
var xiaoming = new people(); //此時(shí)會(huì)報(bào)錯(cuò)泻帮,TypeError: people is not a constructor
2、箭頭函數(shù)不綁定自己的arguments,而是使用rest參數(shù)
var student = a => {
console.log(arguments);
};
student(3);//報(bào)錯(cuò)
使用rest參數(shù)计寇,如下
var teacher = (...c) => {
console.log(c);
};
teacher(3); [3]
3锣杂、箭頭函數(shù)會(huì)捕獲所在上下文的this脂倦,作為自己的this值
未完待更....