ES6学习(三)---- 字符串的扩展
程序员文章站
2023-12-21 13:19:52
...
我只总结一些常用的。涉及到字节方面的方法暂时不作记录。
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\\'