String

字符的Unicode表示法

JavaScript可以用Unicode表示一個(gè)字符,但是只限于碼點(diǎn)在\u0000~\uffff之間的字符超過的必須用雙字節(jié)表示.
但是ES6進(jìn)行了改進(jìn),只要將碼點(diǎn)放入大括號(hào),就能正確解讀

"\u20BB7"  //超過0xFFFF 所以被解析成u20BB + 7  
"\u{20BB7}"
codePointAt

該方法可以正確處理四字節(jié)處理的字符,并返回一個(gè)字符的碼點(diǎn)(十進(jìn)制)
對(duì)于兩個(gè)字節(jié)存儲(chǔ)的字符,返回結(jié)果與charCodeAt方法相同
存在一個(gè)問題:參數(shù)不正確,對(duì)于四字節(jié)的字,會(huì)占用兩個(gè)位置,讀取第一個(gè)位置會(huì)返回正確的結(jié)果,第二個(gè)位置為該字符的后兩個(gè)字節(jié).解決方法使用 for...of

var s = '??a';
for (let ch of s) {
  console.log(ch.codePointAt(0).toString(16));
}
String.fromCodePoint

該方法與String.fromCharCode方法類似,單證方法能識(shí)別大于0xFFFF的碼點(diǎn),如果有多個(gè)參數(shù),那么會(huì)被合并成一個(gè)字

String.fromCodePoint(0x78, 0x1f680, 0x79) === 'x\uD83D\uDE80y' //true
includes(), startsWith(), endsWith()

<small>includes():返回布爾值兔综,表示是否找到了參數(shù)字符串软驰。
startsWith():返回布爾值心肪,表示參數(shù)字符串是否在源字符串的頭部硬鞍。
endsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的尾部锅减。</small>
三個(gè)方法都接受第二個(gè)參數(shù),表示從第幾位開始

repeat(),padStart(),padEnd()

repeat()返回一個(gè)字符串,參數(shù)表示將原字符串重復(fù)多少次

'a'.repeat(2)// 'aaa'

padStart(),padEnd)()兩個(gè)方法,都是用來補(bǔ)全字符串前者頭部補(bǔ)全,后者尾部補(bǔ)全,兩個(gè)參數(shù),第一個(gè)指定字符串的最小長度,第二個(gè)用來補(bǔ)全的字符串,如果省略第二個(gè)參數(shù),則會(huì)用空格補(bǔ)全

'aaa'.padStart(10,'b')  // 'bbbbbbbbaaa'
'aaa'.padEnd(10,'b')  // 'aaabbbbbbbb'
字符串模板

增強(qiáng)版的字符串,用反引號(hào) ( ` )標(biāo)示.可以當(dāng)做普通字符串,也可以定義多行字符串,或嵌入變量

var name  = 'abc'
var str = ` my name is ${name}` //'my name is abc'

大括號(hào)內(nèi)可以放入任意的表達(dá)式,或者函數(shù); 如果大括號(hào)中的值不是字符串,會(huì)按照一般規(guī)則轉(zhuǎn)為字符串
字符串模板也可以進(jìn)行嵌套

var data = [ {a:1,b:2}, {a:2,b:4} ]
var str = `<ul>
           ${data.map( (item)=>`<li>a:${item.a},b:${item.b}</li>` )}
       </ul>`
//<ul>
<li>a:1,b:2</li>
<li>a:2,b:4</li>
</ul>

注意:模板字符串的空格和換行都會(huì)被保留..

此外,字符串模板的功能還有很多...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伐坏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子桦沉,更是在濱河造成了極大的恐慌,老刑警劉巖纯露,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剿骨,死亡現(xiàn)場離奇詭異埠褪,居然都是意外死亡浓利,警方通過查閱死者的電腦和手機(jī)挤庇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荞膘,“玉大人,你說我怎么就攤上這事羽资⊥郎” “怎么了潮改?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵脏答,是天一觀的道長糕殉。 經(jīng)常有香客問我殖告,道長黄绩,這世上最難降的妖魔是什么羡洁? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮爽丹,結(jié)果婚禮上筑煮,老公的妹妹穿的比我還像新娘。我一直安慰自己粤蝎,他們只是感情好真仲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布评架。 她就那樣靜靜地躺著轨蛤,像睡著了一般雀扶。 火紅的嫁衣襯著肌膚如雪筹燕。 梳的紋絲不亂的頭發(fā)上韧掩,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天罕模,我揣著相機(jī)與錄音蝠猬,去河邊找鬼克懊。 笑死墓懂,一個(gè)胖子當(dāng)著我的面吹牛焰宣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捕仔,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匕积,長吁一口氣:“原來是場噩夢啊……” “哼盈罐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起闪唆,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤盅粪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后悄蕾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體票顾,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年帆调,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奠骄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡番刊,死狀恐怖含鳞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芹务,我是刑警寧澤蝉绷,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站枣抱,受9級(jí)特大地震影響熔吗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沃但,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佛吓。 院中可真熱鬧宵晚,春花似錦、人聲如沸维雇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吱型。三九已至逸贾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間津滞,已是汗流浹背铝侵。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留触徐,地道東北人咪鲜。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像撞鹉,于是被迫代替她去往敵國和親疟丙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颖侄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • Java String類 Java lang.String類用法實(shí)例教程。 簡介java.lang.String類...
    呵呵飄過閱讀 514評(píng)論 0 0
  • string庫提供了字符串處理的通用函數(shù)享郊。 例如字符串查找览祖、子串、模式匹配等炊琉。 當(dāng)在 Lua 中對(duì)字符串做索引時(shí)展蒂,...
    chiguozi閱讀 3,840評(píng)論 0 3
  • String對(duì)象是JavaScript原生提供的三個(gè)包裝對(duì)象之一,用來生成字符串的包裝對(duì)象温自。 上面代碼中玄货,變量s1...
    zjh111閱讀 578評(píng)論 0 0
  • 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的...
    卞卞村長L閱讀 749評(píng)論 0 0
  • 幾天前松捉,我和一同學(xué)晚上去吃宵夜,本來應(yīng)該是一個(gè)蠻愉快的晚上馆里,但我們聊著聊著就陷入尷尬了隘世。 反正我是很莫名的,我的同...
    氵點(diǎn)滴閱讀 430評(píng)論 0 1