es6

1.es6強制開啓嚴格模式

2.let不能重複聲明變量

3.const聲明的常量不能修改

4.const聲明時候,對象可以改變,指針不行

5.解構賦值分爲數組解構賦值,函數參數解構賦值,對象解構賦值

(a)數組解構賦值:

{
let a,b,rest;
[a,b,...rest]=[1,2,3,4,5,6];
console.log(a,b,rest);
}

...截取3456

(b)對象解構賦值:

{
let a,b;
({a,b}={a:1,b:2})
console.log(a,b);
}

解構賦值特別適合變量交換(區別於es5還需要一箇中間量),如下

{
let a =1;
let b =2;
[a,b]=[b,a];
console.log(a,b);
}

(c)函數解構賦值:

{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,,,b]=f();
console.log(a,b);
}

可以隨心所欲的取自己想取的值

(d)對象解構賦值

{
let a,b;
({a,b}={a:1,b:2})
console.log(a,b);
}


{
let o ={p:42,q:true};
let {p,q}=o;
console.log(p,q);
}

對象解構賦值的左側是對象形式,右側也是一個對象形式

 

正則方法拓展:

正則新增的特性:u修飾符,y修飾符,s修飾符

flags是es6新增的獲取正則修飾符的屬性

新增了sticky屬性,判斷有沒有開始帶y的修飾符,開啓了就是true.

 

都是全局匹配,但是g修飾符中間任何位置匹配上都算。
y修飾符必須從第一個開始

u修飾符——處理大於兩個字節的字符

 

 

字符串擴展:

Unicode表示法、遍歷接口、模板字符串

 

判斷字符串是否包含
{
let str ="string";
console.log("includes",str.includes("r"));//true
console.log("includes",str.includes("c"));//false

判斷字符串以某些字符起始/結尾
console.log("start",str.startsWith("str"));
console.log("end",str.endsWith("ng"));

}

{
let str="abc";
console.log(str.repeat(2));
字符串的複製功能
}

 

模板字符串

{
let name="list";
let info="my love";
let m =`i am ${name},${info}`;
console.log(m);
}

 

//標籤模板
//作用1 過濾字符串 防止xss***
//作用2 處理多語言轉換

 

raw 對所有的斜槓進行了轉義 保證了斜槓不生效

{
console.log(String.raw`Hi\n${1+2}`); //Hi\n3
console.log(`Hi\n${1+2}`); //hi
//3
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章