Es6 字符串的擴(kuò)展

1.coedPointAt()

var s = "??";

s.length // 2
s.charAt(0) // ''
s.charAt(1) // ''
s.charCodeAt(0) // 55362
s.charCodeAt(1) // 57271

在js中原本的方法charCodeAt中無法識(shí)別Unicode 碼點(diǎn)大于0xFFFF的字符,JavaScript 會(huì)認(rèn)為它們是兩個(gè)字符。他們的出現(xiàn)是啦彌補(bǔ)js以前的缺陷的,注意使他們,那么還有誰呢.

2.String.fromCodePoint

String.fromCodePoint(0x20BB7)

與String.fromCharCode方法相同,這個(gè)String.fromCharCode相同,這個(gè)就是我上邊說的他們其中的一份子.

3.at()

'abc'.at(0) // "a"
'??'.at(0) // "??

與charAt方法類似,這位大哥也是上邊的一份子;

4.字符串的循環(huán)遍歷器

var str = '123'
for(var codePoint of str){
  console.log(codePoint)
  // 1
  // 2
  // 3
}

這位大佬終于不是上邊的一份子啦,

5.includes(), startsWith(), endsWith()

let s = 'Hello world!';

s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

這三個(gè)方法的返回值全部是布爾值
includes() 表示是否找到了參數(shù)字符串。
startsWith() 表示參數(shù)字符串是否在原字符串的頭部。
endsWith() 表示參數(shù)字符串是否在原字符串的尾部。

6.repeat()

repeat方法返回一個(gè)新字符串,表示將原字符串重復(fù)n次。

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // "

如果參數(shù)==0那么返回''(空串),如果是小數(shù)則會(huì)向下取整,如果是負(fù)數(shù)||Infinity,報(bào)錯(cuò)

7.padStart(),padEnd()

'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'

'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'

第一個(gè)參數(shù)為指定字符串加第二個(gè)參數(shù)長(zhǎng)度的和,第二個(gè)參數(shù)為要補(bǔ)全的字符
如果原字符串的長(zhǎng)度,等于或大于指定的最小長(zhǎng)度,則返回原字符串。
如果省略第二個(gè)參數(shù),默認(rèn)使用空格補(bǔ)全長(zhǎng)度。
如果用來補(bǔ)全的字符串與原字符串,兩者的長(zhǎng)度之和超過了指定的最小長(zhǎng)度,則會(huì)截去超出位數(shù)的補(bǔ)全字符串。

'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
'xxx'.padEnd(5) // 'xxx  '  
'xxx'.padStart(10, '0123456789') // '0123456xxx'

8.模板字符串

以前在js輸出可以換行的字符串是很費(fèi)勁的,Es6中引入啦模板字符串來解決這個(gè)問題
模板字符串中嵌入變量,需要將變量名寫在${}之中。

// 普通字符串
`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 = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容