關(guān)于ES6字符串的擴(kuò)展詳解
一、字符串的擴(kuò)展
字符的 Unicode 表示法
ES6 加強(qiáng)了對 Unicode 的支持,允許采用\uxxxx形式表示一個(gè)字符,其中xxxx表示字符的 Unicode 碼點(diǎn)。
"\u0061" // "a"
字符串的遍歷器接口
ES6 為字符串添加了遍歷器接口(詳見《Iterator》一章),使得字符串可以被for...of循環(huán)遍歷。
for (let codePoint of 'foo') {
console.log(codePoint)
}
// "f"
// "o"
// "o"模板字符串
傳統(tǒng)的 JavaScript 語言,輸出模板通常是這樣寫的(下面使用了 jQuery 的方法)。
$('#result').append(
'There are <b>' + basket.count + '</b> ' +
'items in your basket, ' +
'<em>' + basket.onSale +
'</em> are on sale!'
);上面這種寫法相當(dāng)繁瑣不方便,ES6 引入了模板字符串解決這個(gè)問題。
$('#result').append(`
There are <b>${basket.count}</b> items
in your basket, <em>${basket.onSale}</em>
are on sale!
`);二、字符串的新增方法
includes(), startsWith(), endsWith()
傳統(tǒng)上,JavaScript 只有indexOf方法,可以用來確定一個(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實(shí)例方法:repeat()
repeat方法返回一個(gè)新字符串,表示將原字符串重復(fù)n次。
'x'.repeat(3) // "xxx" 'hello'.repeat(2) // "hellohello" 'na'.repeat(0) // ""
實(shí)例方法:padStart(),padEnd()
ES2017 引入了字符串補(bǔ)全長度的功能。如果某個(gè)字符串不夠指定長度,會在頭部或尾部補(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'
實(shí)例方法:trimStart(),trimEnd()
ES2019 對字符串實(shí)例新增了trimStart()和trimEnd()這兩個(gè)方法。它們的行為與trim()一致,trimStart()消除字符串頭部的空格,trimEnd()消除尾部的空格。它們返回的都是新字符串,不會修改原始字符串。
const s = ' abc '; s.trim() // "abc" s.trimStart() // "abc " s.trimEnd() // " abc"
總結(jié)
到此這篇關(guān)于ES6字符串?dāng)U展的文章就介紹到這了,更多相關(guān)ES6字符串?dāng)U展內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
httpclient模擬登陸具體實(shí)現(xiàn)(使用js設(shè)置cookie)
最簡單的方法就是通過得到的cookie定制一個(gè)httpclient,感興趣的朋友可以了解下本文2013-12-12
微信小程序全局?jǐn)?shù)據(jù)共享和分包圖文詳解
全局?jǐn)?shù)據(jù)共享是為了解決組件之間數(shù)據(jù)共享的問題,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局?jǐn)?shù)據(jù)共享和分包的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
淺談js基礎(chǔ)數(shù)據(jù)類型和引用類型,深淺拷貝問題,以及內(nèi)存分配問題
下面小編就為大家?guī)硪黄獪\談js基礎(chǔ)數(shù)據(jù)類型和引用類型,深淺拷貝問題,以及內(nèi)存分配問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
詳解JavaScript面向?qū)ο髮?shí)戰(zhàn)之封裝拖拽對象
本文主要介紹了JavaScript如何用面向?qū)ο蟮姆绞椒庋b拖拽對象,通過3種方式來實(shí)現(xiàn),幫助讀者更好的理解其原理2021-06-06
js實(shí)現(xiàn)點(diǎn)贊按鈕功能的實(shí)例代碼
這篇文章主要介紹了js實(shí)現(xiàn)點(diǎn)贊按鈕功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

