ES6學習(三) 字串的擴充套件

2021-08-17 08:42:11 字數 1974 閱讀 2040

我只總結一些常用的。涉及到位元組方面的方法暫時不作記錄。

1.startswith 和endswith、includes,其中他們都有兩個引數,第一引數是包含的字串,第二個引數是個n數字,includes和startswith的第二個引數表示是從這個索引開始,endswith的索引是從0-n。

let

str = 'abc';

str.startswith('a');//true

str.endswith('c');//true

str.includes('a');//true

//有第二個引數的情況

letstr = 'abcdefg';

str.starstwith('a',3);//false從第三個開始

str.endswith('d',3);//false前三個

str.includes('g',4);//true從第四個開始

2.repeat複製字串。

repeat裡面的引數是數字,裡面的引數會先轉換成數字。返回值是複製後的字串

需要注意的有一下幾點:

(1)引數是正常正整數的情況。如果是小數它會去掉小數點後面的。

'ab'.repeat(2);//

'abab'

'aab'.repeat(2.5);//

'aabaab'

(2)引數是負數或者infinity會報錯。

'ab'.repeat(-1);//報錯
(3)引數如果是-1和0之間的數字。repeat會把數字當成0來處理

'ab'.repeat('-0.5');//

''

(4)引數如果是nan.也會被當成0來處理

'ab'.repeat('abc');//

'''ab'.repeat(nan);//

''

3.padstart和padend首尾填充

其中它們都有兩個引數,padstart(minlength,str),引數一最小長度,引數二我們填充的字串

(1)正常的情況下

'x'.padstart(3,'ab');//

'abx'

'x'.padend(3,'ab');//

'xab'

'x'.padstart(3,'a');//

'aax'

(2)如果填充的字串長度與原先的字串長度之和大於最小長度,那麼填充的時候就會從填充的字串中擷取一部分。

'abc'.padstart(5,'efghij');//

'abcef'

(3)如果最小長度小於原字串的長度,那麼就返回原來的字串

'abc'.padstart(2,'efgfsf');//abc
(4)如果填充的字串這個引數沒寫,就會以空格來填充,填充規則符合前三點

'abc'.padstart(5);//

' abc'

4.模版字串

一般的用「來包裹字串,其中用${}來寫變數、表示式、呼叫的函式。如果用模版字串包裹,所有的空格和換行都會保留下來。

const str = 

`class="list">

365天年卡li>

90天際卡li>

體驗領取class="spe">3件span> 0元/1元商品li>

ul>

`;

5.標籤模版暫時還沒有理解明白,後期繼續寫

6.string.raw返回替換變數之後和乙個斜槓被轉義後的字串

let a = 5;

let b = 15;

string.raw`name$\`;// 'name20\\'

ES6 字串擴充套件

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

ES6(三) 字串新增的方法

一.在以前的學習過程中學到 let str abc console.log str.indexof b 找到了下標為1 console.log str.indexof o 未找到,輸出 1 在es6中,新產生了includes方法,與indexof不同的是 返回的是布林值,存在返回true,不存在返...

ES6 字串的擴充套件

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