《ECMAScript6入門》 字串的擴充套件

2021-10-06 02:42:37 字數 1110 閱讀 9510

1.字串的擴充套件

es6 只要將碼點放入大括號,就能正確解讀該字元。

"\u"

// "?"

"\u\u\u"

// "abc"

let hello = 123;

hell\u // 123

'\u' === '\ud83d\ude80'

// true

2.字串的遍歷器介面

es6 為字串新增了遍歷器介面,使得字串可以被for…of迴圈遍歷。

除了遍歷字串,這個遍歷器最大的優點是可以識別大於0xffff的碼點,傳統的for迴圈無法識別這樣的碼點。

let text = string.fromcodepoint(0x20bb7);

for (let i = 0; i < text.length; i++)

// " "

// " "

for (let i of text)

// "?"

3.直接輸入 u+2028 和 u+2029

4.json.stringify() 的改造

為了確保返回的是合法的 utf-8 字元,es2019 改變了json.stringify()的行為。如果遇到0xd800到0xdfff之間的單個碼點,或者不存在的配對形式,它會返回轉義字串,留給應用自己決定下一步的處理。

json.stringify('\u') // ""\\ud834""

json.stringify('\udf06\ud834') // ""\\udf06\\ud834""

5.模板字串

模板字串(template string)是增強版的字串,用反引號(`)標識。它可以當作普通字串使用,也可以用來定義多行字串,或者在字串中嵌入變數。將變數名寫在${}之中

function fn() 

`foo $ bar`

// foo hello world bar

《ECMAScript6入門》 字串新增方法

1 string.fromcodepoint es5 提供string.fromcharcode 方法,用於從 unicode 碼點返回對應字元,但是這個方法不能識別碼點大於0xffff的字元。es6 提供了string.fromcodepoint 方法,可以識別大於0xffff的字元,彌補了str...

ECMAScript 6入門類繼承筆記

看類繼承前,先回顧建構函式怎麼實現物件的繼承的 function f function son function inherit s,f inherit son,f let son new son 它實現了哪幾個功能 用來extends和super關鍵字,看乙個簡單的繼承 class a class...

EcmaScript 6 箭頭函式

es5 var total values.reduce function a,b 0 es6 var total values.reduce a,b a b,0 箭頭即乙個函式的簡化 es5 confetti btn click function event es6 confetti btn cli...