1.Object[key]
這一語法主要是為了創(chuàng)建對(duì)象時(shí)回梧,能夠用其他的變量作為屬性值盟广。
var str="name";
var obj={
[str]: 'jc',
num: 1
};
2.箭頭函數(shù)
箭頭函數(shù)其實(shí)就是其他語言中已有的lamda表達(dá)式闷串,但它是可以在函數(shù)定義的時(shí)候就綁定其this,可以用于返回一個(gè)已經(jīng)綁定this的函數(shù)筋量。
var student={
name: 'jc',
createPrint: function(){
return ()=>console.log(this.name);
}
};
var blue=student.createPrint();
blue(); //jc
3.Array.prototype.find/findIndex方法
可以按條件搜索的方式來查找數(shù)組中第一個(gè)滿足條件的元素烹吵。
var array=[2,3,4,5];
console.log(array.find(a=>a>=3)); //3
4.展開運(yùn)算符
- 將數(shù)組或可迭代對(duì)象拆分為單個(gè)的參數(shù):
//es5
var yuan=[3,4,5];
console.log(Math.min.apply(Math,yuan));
//es6
console.log(Math.min(...yuan));
- 將可迭代對(duì)象轉(zhuǎn)化為數(shù)組:
var array=[...document.querySelectorAll('div')];
5.字符串模板語法
- 優(yōu)雅地在字符串中插入變量
var red={x:1,y:2};
console.log(`I am ${red.x+red.y}`);
- 書寫多行文本
console.log(`this is a
theme`);
6.函數(shù)默認(rèn)參數(shù)
可以給函數(shù)設(shè)置默認(rèn)參數(shù),包括回調(diào)函數(shù)參數(shù)桨武,可以以優(yōu)雅的方式傳入回調(diào)函數(shù)肋拔。
//es5
function curry1(callback){
if(typeof callback === 'function'){
callback();
}
}
//es6
function curry2(callback=function(){}){
callback();
}
7.對(duì)象解構(gòu)賦值中的const
設(shè)置對(duì)象解構(gòu)賦值為const,則每個(gè)新的變量都為const呀酸,不可以改變其值凉蜂,如果為對(duì)象,則不可改變其引用性誉,這一點(diǎn)要小心處理
const {num}=this.state;
num++; //error