ES6學習筆記

本筆記爲閱讀http://es6.ruanyifeng.com/ 阮老師的文章本身的總結,僅做自用,感謝阮老師的技術分享。es6

1.超過uFFFF的字符ES5沒法正確顯示,會顯示成前面的uFFFF的碼點符號加四位後面的碼點符號,如u20BB7會解析爲u20BB+7,ES6中將碼點寫在大括號中便可正確輸出。
ES6共有6中方法表示一個字符:this

'\z' === 'z'  // true
'\172' === 'z' // true
'\x7A' === 'z' // true
'\u007A' === 'z' // true
'\u{7A}' === 'z' // true

2.js內部存儲字符默認是兩個字節,對於4個字節的js會將其視爲兩個字符。
ES5提供charCodeAt方法(s.charCodeAt),ES6新增codePointAt方法。code

3.ES5提供fromCharCode,ES6提供fromCodePoint方法,從碼點返回字符。接口

4.字符串的遍歷器接口:ip

for(let i of 'foo'){
    console.log(i)
}//'f''o''o'

5.ES6新增判斷字符串的包含狀況(ES5->indexOf):字符串

includes: 返回bool值,表示是否找到了字符串。
startsWith: 返回bool值, 表示參數字符串是否在原字符串的頭部。
endsWith: 返回bool值,表示參數字符串是否在原字符串的尾部。

這三個方法都支持第二個參數,表示開始搜索的位置:get

let s = 'hello world'
s.includes('hello',5)//false
s.startsWith('world',6)//true
s.endsWith('hello',5)//true(endsWith搜索前n個字符)

6.repeat返回一個字符串嗎,表示將原字符串重複n次,string

're'.repeat(3)//'rerere'

7.padStart,padEnd用於補全字符串,前者從頭部開始補全,後者從尾部補全。it

'x'.padStart(5,'as')//'asasx'
'b'.padEnd(5,'fg')//'bfgfg'
'j'.padStart(5)//'    j'(默認使用空格補全)

8.模板字符串。反引號``括起來console

// 普通字符串
`In JavaScript '\n' is a line-feed.`

// 多行字符串
`In JavaScript this is
 not legal.`

console.log(`string text line 1
string text line 2`);

//加入變量
let name = 'asd', time = 'today'
`${time} ,my name is ${name}`

後面的模板編譯看不懂

相關文章
相關標籤/搜索