ES6浅谈--模板字符串,字符串新增方法


模板字符串:

1.模板字符串可以跟在函数后边,函数会接收到若干参数,由模板字符串分解得到。

let a = 5;
let b = 10;

tag`Hello ${ a + b } world ${ a * b }`;
// 等同于
tag(['Hello ', ' world ', ''], 15, 50);

第一个参数:['Hello ', ' world ', ''],第二个参数: 15,第三个参数:50,分解之后的内容包含空格。

2.这种标签模板功能,函数的作用是可以直接获取所有分解的参数,最后可以在函数内部过滤和拼接参数。例如可以过滤恶意<script>标签防止攻击,方法是将“<”">"转换为&gt和&lt。

3.标签模板还可以进行语言转换(需要自己写逻辑),通过标签函数模拟大胡子语法,嵌入其他语言。

字符串新增方法:

1.fromCodePoint()方法,输入unicode码返回对应字符,可以识别0xFFFF以上字符,替代了fromCharCode()方法。如果方法内有多个参数则合并参数成一个字符串返回,方法建立在string对象上。

2.string.raw()方法,会返回原始值,例如/n这种换行符也会返回/n,意思也就是说raw方法会帮你转义反斜杠,另外需要用模板字符串,如果用括号则参数为对象。打印结果时还需要注意,测试\时不能直接输入单个反斜杠,否则会报错,需要转换反斜杠,即\\。

3.codePointAt()方法,正确处理大于0xFFFF的字符,即占位为4个字节的字符,并返回其对应的正确码点。

4.normalize()方法,用于合成字符,如欧洲的一些字符,通过普通英文字母加音标合成。

5.includes(),startsWith(),endsWith().在ES6之前js只有indexOf()去确定一个字符串是否包含在另一个字符串里。includes()方法表示是否找到了字符串,返回布尔值;startsWith()表示是否在头部,end表示尾部。三个方法都支持第二个参数,表示从什么开始找。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM