ES6字符串

1.多了兩個(gè)新方法油坝;

startWith 以什么什么開頭

endWith 以什么什么結(jié)尾

eg:

? var str = "ahadjfhajfk";

? ? alert(str.startsWith("a"));//true

返回值結(jié)果為布爾值


2.字符串模板

字符串連接

a. 直接把東西塞到字符串里邊 ${東西}嫉戚;

b. 可以折行,通過(guò)${}填值

let str = 'abc';

let str = "abc";

字符串單引號(hào)與雙引號(hào)在Js中沒(méi)有什么區(qū)別澈圈,但在C語(yǔ)言彬檀,JAVA語(yǔ)言可能不一樣.

let str = `abc`;


3.反單引號(hào)``

通過(guò)${}將變量直接連接在字符串當(dāng)中;

let str = `abc`;

let n = 10;

let str1 = `a${n}bc`;

alert(str1); //a10bc


4.字符串的遍歷器接口

ES6 為字符串添加了遍歷器接口(詳見(jiàn)《Iterator》一章)瞬女,使得字符串可以被for...of循環(huán)遍歷窍帝。

for (let codePoint of 'foo') {

? console.log(codePoint)

}

// "f"

// "o"

// "o"

除了遍歷字符串,這個(gè)遍歷器最大的優(yōu)點(diǎn)是可以識(shí)別大于0xFFFF的碼點(diǎn)诽偷,傳統(tǒng)的for循環(huán)無(wú)法識(shí)別這樣的碼點(diǎn)坤学。

let text = String.fromCodePoint(0x20BB7);

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

? console.log(text[i]);

}

// " "

// " "

for (let i of text) {

? console.log(i);

}

// "??"

上面代碼中,字符串text只有一個(gè)字符报慕,但是for循環(huán)會(huì)認(rèn)為它包含兩個(gè)字符(都不可打由罡 ),而for...of循環(huán)會(huì)正確識(shí)別出這一個(gè)字符眠冈。


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

傳統(tǒng)上飞苇,JavaScript 只有indexOf方法,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中。ES6 又提供了三種新方法布卡。

includes():返回布爾值橱鹏,表示是否找到了參數(shù)字符串。

startsWith():返回布爾值鲁森,表示參數(shù)字符串是否在原字符串的頭部序苏。

endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部这弧。

let s = 'Hello world!';

s.startsWith('Hello') // true

s.endsWith('!') // true

s.includes('o') // true

這三個(gè)方法都支持第二個(gè)參數(shù)娃闲,表示開始搜索的位置。

let s = 'Hello world!';

s.startsWith('world', 6) // true

s.endsWith('Hello', 5) // true

s.includes('Hello', 6) // false

上面代碼表示匾浪,使用第二個(gè)參數(shù)n時(shí)皇帮,endsWith的行為與其他兩個(gè)方法有所不同。它針對(duì)前n個(gè)字符蛋辈,而其他兩個(gè)方法針對(duì)從第n個(gè)位置直到字符串結(jié)束属拾。


6.repeat()

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

'x'.repeat(3) // "xxx"

'hello'.repeat(2) // "hellohello"

'na'.repeat(0) // ""

參數(shù)如果是小數(shù)渐白,會(huì)被取整。

'na'.repeat(2.9) // "nana"

如果repeat的參數(shù)是負(fù)數(shù)或者Infinity逞频,會(huì)報(bào)錯(cuò)纯衍。

'na'.repeat(Infinity)

// RangeError

'na'.repeat(-1)

// RangeError

但是,如果參數(shù)是 0 到-1 之間的小數(shù)苗胀,則等同于 0襟诸,這是因?yàn)闀?huì)先進(jìn)行取整運(yùn)算。0 到-1 之間的小數(shù)基协,取整以后等于-0歌亲,repeat視同為 0。

'na'.repeat(-0.9) // ""

參數(shù)NaN等同于 0澜驮。

'na'.repeat(NaN) // ""

如果repeat的參數(shù)是字符串陷揪,則會(huì)先轉(zhuǎn)換成數(shù)字。

'na'.repeat('na') // ""

'na'.repeat('3') // "nanana"

7.padStart()杂穷,padEnd()

ES2017 引入了字符串補(bǔ)全長(zhǎng)度的功能鹅龄。如果某個(gè)字符串不夠指定長(zhǎng)度,會(huì)在頭部或尾部補(bǔ)全亭畜。padStart()用于頭部補(bǔ)全扮休,padEnd()用于尾部補(bǔ)全。

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

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

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

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

上面代碼中拴鸵,padStart()和padEnd()一共接受兩個(gè)參數(shù)玷坠,第一個(gè)參數(shù)是字符串補(bǔ)全生效的最大長(zhǎng)度蜗搔,第二個(gè)參數(shù)是用來(lái)補(bǔ)全的字符串。

如果原字符串的長(zhǎng)度八堡,等于或大于最大長(zhǎng)度樟凄,則字符串補(bǔ)全不生效,返回原字符串兄渺。

'xxx'.padStart(2, 'ab') // 'xxx'

'xxx'.padEnd(2, 'ab') // 'xxx'

如果用來(lái)補(bǔ)全的字符串與原字符串缝龄,兩者的長(zhǎng)度之和超過(guò)了最大長(zhǎng)度,則會(huì)截去超出位數(shù)的補(bǔ)全字符串挂谍。

'abc'.padStart(10, '0123456789')

// '0123456abc'

如果省略第二個(gè)參數(shù)叔壤,默認(rèn)使用空格補(bǔ)全長(zhǎng)度。

'x'.padStart(4) // '? x'

'x'.padEnd(4) // 'x? '

padStart()的常見(jiàn)用途是為數(shù)值補(bǔ)全指定位數(shù)口叙。下面代碼生成 10 位的數(shù)值字符串炼绘。

'1'.padStart(10, '0') // "0000000001"

'12'.padStart(10, '0') // "0000000012"

'123456'.padStart(10, '0') // "0000123456"

另一個(gè)用途是提示字符串格式。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"

'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末妄田,一起剝皮案震驚了整個(gè)濱河市俺亮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疟呐,老刑警劉巖脚曾,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異启具,居然都是意外死亡本讥,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門富纸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人旨椒,你說(shuō)我怎么就攤上這事晓褪。” “怎么了综慎?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵涣仿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我示惊,道長(zhǎng)好港,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任米罚,我火速辦了婚禮钧汹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘录择。我一直安慰自己拔莱,他們只是感情好碗降,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塘秦,像睡著了一般讼渊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尊剔,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天爪幻,我揣著相機(jī)與錄音,去河邊找鬼须误。 笑死挨稿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的霹期。 我是一名探鬼主播叶组,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼历造!你這毒婦竟也來(lái)了甩十?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吭产,失蹤者是張志新(化名)和其女友劉穎侣监,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臣淤,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡橄霉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邑蒋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姓蜂。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖医吊,靈堂內(nèi)的尸體忽然破棺而出钱慢,到底是詐尸還是另有隱情,我是刑警寧澤卿堂,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布束莫,位于F島的核電站,受9級(jí)特大地震影響草描,放射性物質(zhì)發(fā)生泄漏览绿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一穗慕、第九天 我趴在偏房一處隱蔽的房頂上張望饿敲。 院中可真熱鬧,春花似錦逛绵、人聲如沸诀蓉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渠啤。三九已至狐肢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沥曹,已是汗流浹背份名。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妓美,地道東北人僵腺。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像壶栋,于是被迫代替她去往敵國(guó)和親辰如。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容