1. 程式人生 > >ES6學習(三)---- 字串的擴充套件

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

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

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
//有第二個引數的情況
let str = '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 = 
`
<ul class="list">
    <li>365天年卡</li>
    <li>90天際卡</li>
    <li>體驗領取<span class="spe">3件</span> 0元/1元商品</li>
</ul>
`;
5.標籤模版暫時還沒有理解明白,後期繼續寫

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

let a = 5;
let b = 15;
String.raw`name${a+b}\`;// 'name20\\'