美文网首页
ES6中的字符串

ES6中的字符串

作者: 飞鹰3995 | 来源:发表于2021-06-19 14:12 被阅读0次

    字符串在编程语言中,一直是使用率很高的数据,虽说函数在js语言中是一等公民,但是字符串,怎么也能算得上是千年老二,下面我就一起和大家探讨一下在es6中的一些新用法和特性,特别是在字符串拼接的时候,会解放作为程序员的眼睛和双手。大家也可以关注我的微信公众号,蜗牛全栈。
    一、模板字符串:用`替换传统的单引号或双引号
    1、传统字符串拼接

    const str = "asasasas\n"
            +"sasasasasa\n"
            +"rrgtrgtegergre"
    console.log(str) // 这个时候输出的是换行的字符串
    

    2、es6中字符串拼接

    const str = `asasasas
            sasasasasa
            rrgtrgtegergre
            `
    console.log(str) // 输出的和上一段完全相同效果的字符串 
    

    3、传统字符串中的运算并拼接

    const a = 20
    const b = 14
    const c = "es"
    const str = "我的年龄是:"+(a+b)+",我在讲"+c
    console.log(str) // 我的年龄是34,我在将es
    

    4、es6字符串中的运算并拼接:在使用`的基础上,通过$和{}包裹变量。PS:这个语法在小编重构项目的时候,不知道省了多少眼药水,真是大大的福利呀。

    const a = 20
    const b = 14
    const c = "es"
    const str5 = `我的年龄是${a+b},我在讲${c}`
    console.log() // 我的年龄是34,我在将es
    

    二、嵌套模板:主要针对标签中的动态class。小编之前在Vue项目中看到大量类似的实例,当时还不明白,现在才知道是个啥。
    1、传统方式

    const isLarge = () => {
        return true
    }
    
    let class1 = 'icon'
    class1 += isLarge()?' icon-big':" icon-small"
    console.log(class1) // 'icon icon-big'
    

    2、es6新方式

    const isLarge = () => {
        return true
    }
    const class1 = `icon icon-${isLarge()?' icon-big':" icon-small"}`
    console.log(class1) // 'icon icon-big'
    

    三、带标签的模板字符串

    const foo = (a,b,c,d) =>{
        console.log(a)
        console.log(b)
        console.log(c)
        console.log(d)
    }
    
    foo(1,2,3,4) // 1 2 3 4
    
    const name = "lilei"
    const age = 34
    foo`这是${name},他的年龄是${age}岁` // ["这是",",他的年龄是","岁"]  lilei  34 undefind
    

    四、includes:判断指定字符串是否在其他字符串内,存在返回true,不存在返回false

    // indexOf 判断字符串中是否含有某个字符串,如果存在,返回该字符串对应的下标,不存在返回-1
    const str = "1234"
    console.log(str.indexOf("2")) // 1
    const str = "1234"
    console.log(str.includes("2")) // true
    

    五、startsWith:判断自定义字符串是否以指定字符串开始,返回布尔值

    const str = "1234"
    console.log(str.startsWith("12")) // true
    

    六、endsWith:判断自定字符串是否以指定字符串结束,返回布尔值

    conststr = "1234"
    console.log(str.endsWith("12")) // false
    

    七、repeat:重复指定字符串指定次数,返回新字符串

    const str = "1234"
    const newStr = str.repeat(3)
    console.log(newStr) // 123412341234
    

    相关文章

      网友评论

          本文标题:ES6中的字符串

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