ES6给字符串带来了很多实用性的扩展:模板字符串,标签模板,repeat函数、includes函数,startsWith函数,endsWith函数,codePointAt函数,String.fromCodePoint函数,String.raw函数。Unicode编码的知识。

1.模板字符串
//变量放入${ }即可
let name = "Jacky";
let occupation = "doctor";
//模板字符串拼接
let str = `He is ${name},he is a ${occupation}`;

2.标签模板(新特性)
var name = "张三";
var height  = 1.8;
tagFn`他叫${name},身高${height}米。`;
//标签+模板字符串——标签模板(新的语法规范)

//定义一个函数,作为标签
function tagFn(arr,v1,v2){
    console.log(arr); 
    //结果:[ "他叫",",身高","米。" ]
    console.log(v1); 
    //结果:张三
    console.log(v2); 
    //结果:1.8
}
规律了:第一个参数arr是数组类型,它是内容是模板字符串中除了${ }以外的其他字符,按顺序组成了数组的内容,所以arr的值是[ "他叫",  ",身高"  ,  "米。" ];第2,3个参数则是模板字符串中对应次序的变量name和height的值。

3.repeat函数:将目标字符串重复N次,返回一个新的字符串,不影响目标字符串。
var name1 = "1";  //目标字符串
var name2 =  name1.repeat(3);
//变量name1被重复三次;

console.log(name1); 
//结果:1

console.log(name2);
//结果:111

4.includes函数:判断字符串中是否含有指定的子字符串,返回true表示含有和false表示未含有。第二个参数选填,表示开始搜索的位置。
var name = "123";    //目标字符串
name.includes('3');   
//true, 含有

name.includes('4');  
//false, 不含有

name.includes('1',1); 
//false, 从第2个字符开始搜索, 不含有

传统的做法我们可以借助indexOf( )函数来实现,如果含有指定的字符串,indexOf( )函数就会子字符串首次出现的位置,不含有,则返回-1。我们通过返回值是否为-1来判断字符串中是否含有指定的子字符串,但是,我们现在可以用includes( )函数代替indexOf( )函数,因为它的返回值更直观(true或false),况且我们并不关心子字符串出现的位置。

注意,上面最后一句代码,第二个参数为1,表示从第2个字符“端“开始搜索,第一个字符”前“的位置是0;

5.startsWith函数:判断指定的子字符串是否出现在目标字符串的开头位置,第二个参数选填,表示开始搜索的位置。
var name = "123";  //目标字符串

name.startsWith('1'); 
//true,出现在开头位置

name.startsWith('2'); 
//false,不是在开头位置

name.startsWith('2',1); 
//true,从第2个字符开始

6.endsWith函数:判断子字符串是否出现在目标字符串的尾部位置,第二个参数选填,表示针对前N个字符。
var name = "123456";    //目标字符串
name.endsWith('1');
//false,不在尾部位置
name.endsWith('6'); 
//true,在尾部位置
name.endsWith('6',5); 
//false,只针对前5个字符
name.endsWith('6',6);
//true,针对前6个字符

7.codePointAt函数
var str1 = "前端";
var str2 = "𠮷";

str1.length; //length为2
str2.length; //length为2

str1.charAt(0);  //前
str1.charAt(1);  //端

str2.charAt(0);  //'�'
str2.charAt(1);  //'�'
=========================
var str = "𠮷";
str.codePointAt();  //结果:134071

8.String.fromCodePoint函数
String.fromCodePoint(134071); //结果:"𠮷"

9.String.raw函数
console.log(`hello\nworld`);
    //输出:hello
            world
console.log(String.raw`hello\nwolrd`);
//输出:hello\nwolrd

鱼七小可爱吖
1 声望1 粉丝

墨非定律说 当你越讨厌一个人时 他就会无时无刻不出现在你的面前 而当你想念一个人时 翻遍地球都找不到他 ​​​​


引用和评论

0 条评论