讀書筆記 深入理解ES6 (二)

2021-09-26 15:38:21 字數 1559 閱讀 6474

1. 更好的unicode支援。

先說一下前提,在字串中,字串裡面的字元有兩種:一種是有乙個編碼單元16位表示的bmp字元;另一種是由兩個編碼單元32位表示的輔助平面字元。這兩種字元是不一樣的。

1.1normalize()方法。

這個方法接受乙個可選的字串,然後將該字串轉化為相應的標準unicode的形式,然後可以進行字串的比較。以確保即使兩個字串原來分別是16位字元和32位字元也照樣可以比較。

1.2正規表示式 u修飾符

其實這個新增的 u 修飾符,其目的也是為了幫助字元從編碼單元操作模式轉化為字元模式,然後帶 u 修飾符的正規表示式就可以由原來匹配編碼單元改為匹配字元。這樣用起來就更加正常化了。

2. 其他字串變更。

這一節裡面,主要說了幾個處理字串和字串之間關係的方法。

2.1includes() 方法。用於識別當前字串中是否包含了某乙個子串。

2.2startswith()方法。顧名思義,找到以某乙個子串開始的字串。

2.3endswith()方法。同樣,從後往前查詢是否包含某乙個子串。

2.4repeat()方法。該方法接受乙個number型別的引數,然後將呼叫該方法的字串重複n次,返回該字串。例如:

1 console.log( "hello".repeat(2) ); // "hellohello"
3. 其他正規表示式語法變更

3.1正規表示式 y 修飾符。

3.2flags屬性。

在es6的版本中,新增了正規表示式的 flags 屬性,該屬性可以返回所有應用於當前正規表示式的修飾符字串。

4. 模板字面量。

這個就是一對反撇號(``)這個比較有意思,也是比較核心的乙個知識點。簡單概括來說,可以分為三點:

4.1利用它可以實現輸出多行字串。以前的時候,多行字串依靠拼接,然後加上換行符。有了這個反撇號後就可以直接拼出來多行字串,並且顯示的時候也是多行的字串。

4.2利用它可以實現佔位符功能。宣告乙個變數,然後可以使用 $ 來取出這個變數的值。例如:   

let name = "steven",

message = `hello, $.`;

console.log(message); // "hello, steven."

4.3模板標籤。這個因為平時用的不是很多。所以,這裡簡單講乙個思路,有興趣的同學可以找原書中的細節以及**。

這個模板標籤究竟是幹什麼的呢?簡單說,它就是乙個包含了反撇號表示式的函式。這個函式以反撇號表示式作為引數,然後標籤名就是這個函式的函式名。

(本節完)

讀書筆記 深入理解ES6(一)

開篇詞 這是一篇關於 深入理解es6 的讀書筆記的第一篇,主要是讀第一章的筆記。該筆記基本上只記錄思路和核心知識點,具體內容可以參考書上的 和細節講解,以求達到提綱挈領和後期方便溫習的作用。1.var宣告和變數提公升 hoisting 機制。該節中,主要講述了作為原來es5中經常使用到的關鍵字 va...

深入理解ES6讀書筆記3 函式

引數預設值 未提供引數,或將引數值指定為undefined時,預設值會被使用。function add a,b 2,c 3 add 1 6 add 1,2 6 add 1,undefined,4 7 add 1,null,4 引數預設值表示式 引數預設值除了是基本型別的值,也可以執行乙個函式來產生預...

深入理解ES6讀書筆記10 模組

模組使用不同方式載入的js檔案。模組化分為匯出 export 與匯入 import 兩個模組。特點 1 模組自動開啟嚴格模式 2 每乙個模組內宣告的變數都是區域性變數 3 模組中可以匯入和匯出各種型別的變數 4 每乙個模組只載入一次 是單例的 若再去載入同目錄下同檔案,直接從記憶體中讀取 5 對於需...