ES6字符串String新的特性

参考web前端教程

模板字符串

传统的字符串实现拼接的时候,要将变量插入字符串中

old

	let name = "Cc";
    let age= "22";
    //传统字符串拼接
    let str = "He is "+ name +", "+ age +"years old";

new

	let name = "Cc";
    let age= "22";
    //传统字符串拼接
    let str = `He is ${name}, ${age} years old`;

可以定义多行字符串

old

	let str = "write once ," +
              "run anywhere";

new

 	let str = `write once ,
               run anywhere`;

${ }中可以放任意的javascript表达式,可以是运算表达式

	var a = 1;
    var b = 2;
    var str = `the result is ${a+b}`;
    //进行加法运算 结果:the result is 3

${ }中可以是对象的属性

	var obj = {"a":1,"b":2};
    var str = `the result is ${obj.a+obj.b}`;
    //对象obj的属性
    //结果:the result is 3.

${ }中可以是函数的调用

	function fn() {
        return 3;
    }
    var str = `the result is ${ fn() }`;
    //函数fn的调用,结果:the result is 3

repeat函数

repeat( )函数:将目标字符串重复N次,返回一个新的字符串,不影响目标字符串。

	var name1 = "前端君";  //目标字符串
    var name2 =  name1.repeat(3);
    //变量name1被重复三次;

    console.log(name1); 
    //结果:前端君

    console.log(name2);
    //结果:前端君前端君前端君

includes函数

includes( )函数:判断字符串中是否含有指定的子字符串,返回true表示含有和false表示未含有。第二个参数选填,表示开始搜索的位置。

	var name = "前端君";    //目标字符串
    name.includes('君');   
    //true, 含有

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

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

现在可以用includes( )函数代替indexOf( )函数,因为它的返回值更直观(true或false),况且我们并不关心子字符串出现的位置。

startsWith函数

startsWith( )函数:判断指定的子字符串是否出现在目标字符串的开头位置,第二个参数选填,表示开始搜索的位置。

	var name = "前端君";  //目标字符串

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

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

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

endsWith函数

endsWith( )函数:判断子字符串是否出现在目标字符串的尾部位置,第二个参数选填,表示针对前N个字符。

 	var name = "我就是前端君";    //目标字符串

    name.endsWith('我');
    //false,不在尾部位置


    name.endsWith('君'); 
    //true,在尾部位置


    name.endsWith('君',5); 
    //false,只针对前5个字符


    name.endsWith('君',6);
    //true,针对前6个字符

String.raw函数

反回字符串最原始的样貌,即使字符串中含有转义符,它都视而不见,直接输出

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

你可能感兴趣的:(es6)