美文网首页
es6 String好玩的特性

es6 String好玩的特性

作者: 泪滴在琴上 | 来源:发表于2024-02-19 14:00 被阅读0次

    模板字符串

    1、直接拼接

     let name = "Jacky";
        let occupation = "doctor";
        //模板字符串拼接
        let str = `He is ${name},he is a ${occupation}`;
    

    2、可换行的字符串

     let str = `write once ,
                   run anywhere`;
    

    3、${}可以放任意的js表达式、对象的属性、函数的调用

     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
    

    模板标签

    可以理解为标签函数+模板字符串,这是一种新的语法规范。
    接下来我们继续看函数的3个参数,从代码的打印结果我们看到它们运行后对应的结果,arr的值是一个数组:[ "他叫" , ",身高" , "米。" ],而v1的值是变量name的值:“张三”,v2的值是变量height的值:1.8。

     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
        }
    

    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个字符开始搜索, 不含有
    

    startsWidth函数

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

     var name = "前端君";  //目标字符串
        name.startsWith('前'); 
        //true,出现在开头位置
        name.startsWith('端'); 
        //false,不是在开头位置
        name.startsWith('端',1); 
        //true,从第2个字符开始
    

    endsWidth函数

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

    var name = "我就是前端君";    //目标字符串
        name.endsWith('我');
        //false,不在尾部位置
        name.endsWith('君'); 
        //true,在尾部位置
        name.endsWith('君',5); 
        //false,只针对前5个字符
        name.endsWith('君',6);
        //true,针对前6个字符
    

    相关文章

      网友评论

          本文标题:es6 String好玩的特性

          本文链接:https://www.haomeiwen.com/subject/ltdvadtx.html