ES6學習(三)---- 字串的擴充套件
阿新 • • 發佈:2018-11-12
我只總結一些常用的。涉及到位元組方面的方法暫時不作記錄。
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\\'