《深入理解ES6》筆記(2)

2022-07-08 12:21:13 字數 1757 閱讀 5194

如果要對不同字元進行排序或者比較操作,會存在一種可能,它們是等效的。在對比字串之前,一定先把它們標準化為同一種形式。

let firstnormalized = first.normalize();

當乙個正規表示式新增了u修飾符時,它就從編碼單元操作模式切換為字元模式。

console.log(/^.$/u.test('lilian');

檢測u修飾符支援

function

hasregexpu()

catch

(ex)

}

3個方法都接受兩個引數:第乙個引數指定要搜尋的文字,第二個引數可選,制定乙個開始搜尋的未知的索引值。如果指定第二個引數,則endswith()方法從字串長度減去這個索引值的位置開始匹配。

let msg="hello world!";

console.log(msg.includes('hello');//

true

console.log(msg.startswith('h');//

true

console.log(msg.endswith('!');//

true

console.log(msg.includes('o',5);//

true

console.log(msg.startswith('o',5);//

false

console.log(msg.endswith('o',6);//

false

該方法接受乙個number型別的引數,表示該字串的重複次數。

console.log('jiaxiaonuo',repeat(2));//

jiaxiaonuojiaxiaonuo

(待加入。。。)

es5中,可以通過給regexp建構函式傳遞正規表示式作為引數來複製這個整個表示式,但是如果傳入第二個引數,會丟擲錯誤。es6修正了這個行為。

let re1=/ab/i,

re2=new regexp(re1,"g");

console.log(re1.tostring());

//"/ab/i"

console.log(re2.tostring()); //

"ab/g"

console.log(re1.test("ab")); //

true

console.log(re2.test("ab")); //

true

console.log(re1.test("ab")); //

true

console.log(re2.test("ab")); //

false

訪問flags屬性會返回所有應用於當前正規表示式的修飾符字串。

let re=/ab/g;

console.log(re.resource);

//"ab"

console.log(re.flags); //

"g"

結合source屬性和flags屬性可以免去格式化正規表示式之憂。

使用反撇號替換單、雙引號,反撇號中的所有空白符都屬於字串的一部分

let message=`message

string`;

console.log(message);

//可以實現換行

深入理解ES6 解構

解構時一種打破資料結構,將其拆分為更小部分的過程。解構在實際開發中經常會應用到物件和陣列中。關於解構的基本用法,請參考 es6 變數的宣告及解構賦值 const node let node 對已經宣告的變數賦值 const node let a,b node const obj let obj co...

培訓ES6筆記

1 剩餘操作符 let rest function a,rest rest 1,2,3,4,5 傳入引數 let print function a,b,c print 1,2,3 print 1,2,3 var m2 math.max 8,9,4,1 可以替代concat var arr1 1,3 ...

ES6筆記 物件

依據阮一峰教程摘取的自己可能用到的特性 屬性的簡潔表示法 function f x,y 等同於 function f x,y f 1,2 object方法簡寫 const o 等同於 const o object.assign 可列舉物件的合併 同名屬性的合併 淺拷貝const target con...