ES6 字串的擴充套件

2021-08-19 01:42:44 字數 1886 閱讀 9152

1.at()-返回字串給定位置的字元

charat():該方法不能識別碼點大於0xffff的字元

at():可以識別碼點大於0xffff的字元

2.includes()-返回布林值,表示是否找到了引數字串

startswith()-返回布林值,表示引數字串是否在源字串的頭部

endswidth()-返回布林值,表示引數字串是否在源字串的尾部

var s = 'hello world!';

s.startswith('hello')//true

s.endswith('!')//true

s.includes('o')//true

這三個方法都支援第二個引數,表示開始搜尋的位置。

var s = 'hello world!';

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

s.endswith('hello',5)//true

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

上面**表示,使用第二個引數n時,endswith的行為與其他兩個方法有所不同。它針對前n個字元,而其他兩個方法針對從第n個位置直到字串結束的字元。

3.repeat()-返回乙個新字串,表示將原字串重複n次

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

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

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

引數如果是小數,會被取整。

'na'.repeat(2.9)//"nana"
如果引數是負數或者infinity,會報錯。

'na'.repeat(infinity)//rangeerror

'na'.repeat(-1)//rangeerror

如果引數是0到-1之間的小數,則等同於0,這是因為會先進行取整運算。0到-1之間的小數,取整以後等於-0,repeat視同為0。

'na'.repeat(-0.9)//""
引數nan等同於0。

'na'.repeat(nan)//""
如果引數是字串,則會先轉換成數字。

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

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

4.padstart(),padend()-字串補全長度,padstart用於頭部補全,padend用於尾部補全。

'x'.padstart(5,'ab')//"ababx"

'x'.padstart(4,'ab')//"abax"

'x'.padend(5,'ab')//"xabab"

'x'.padend(4,'ab')//"xaba"

上面的**中,padstart和padend分別接受兩個引數,第乙個引數用來指定字串的最小長度,第二個引數是用來補全的字串。

如果原字串的長度等於或大於指定的最小長度,則返回字串。

'***'.padstart(2,'ab')//"***"

'***'.padend(2,'ab')//"***"

如果省略第二個引數,則會用空格來補全。

'x'.padstart(4)//"   x"

'x'.padend(4)//"x "

ES6 字串擴充套件

1 字串可以使用 u x的形式來表達乙個字元,x叫做字元的碼點,x的範圍是0000 ffff,超過ffff的碼點需要用兩個雙位元組表示 如果我們 u後面的16進製制的值大於ffff,我們需要加乙個大括號 u讓js正確解析。2 我們應該都了解,漢字一般都需要兩個雙位元組來表示,在js中兩個位元組佔乙個...

ES6 字串的擴充套件

js中有indexof方法,來確認乙個字串是否包含在另乙個字串中。es6又提供了三中新方法 includes 返回布林值,表示是否找到了引數字串。startswith 返回布林值,表示引數字串是否在源字串的頭部。endswith 返回布林值,表示引數字串是否在源字串的尾部。let s hello w...

ES6 字串的擴充套件

u 其中 為字元的碼點 1 codepointat 獲取當前字元的unicode編碼,能夠正確處理4個位元組儲存的字元 2 string.fromcodepoint 從unicode編碼轉換成字元 1 for value of str 對字串進行遍歷 2 at 獲取指定位置的字元,可以正確識別中文字...