Skip to content

String 类型

使用 单引号双引号反引号(`) 标示

字符字面量

非打印,有其他用途的字符。一个字面量只算一个字符的长度

字面量含义
\n换行
\t制表
\b退格
\r回车
\f换页
\\反斜杠
\.单引号
\"双引号
\`反引号
\xnn以十六进制编码 nn 表示的字符
\unnnn以十六进制编码 nnnn 表示的Unicode字符

转换字符串

  1. toString():数值、布尔值、对象和字符串值都自带此方法。返回当前值的字符串等价值

    js
    true.toString() // 'true'
    11.toString()   // '11'
  2. String()

    • 如果值有 toString() 方法,则调用此方法
    • 如果值是 null,返回 “null”
    • 如果值是 undefined,返回 “undefined”
  3. 加号加上一个空字符串也可以转化

模板字符串

  1. 字面量

    • 可以定义多行字符串

      js
      const s = `
      	hello
      	world
      `
      s.length // 15
  1. 字符串的空格和换行,都是被保留的

  2. 如果不想要保留,可以使用 trim 消除

    js
    const s = `
    	hello
    	world
    `.trim()
    s.length // 12
  1. 插值

    • ${} 中嵌入表达式,所有嵌入的值都会使用 toString() 强制转型为字符串

      js
      const name = 'kingmusi'
      `my name is ${ name }` // my name is kingmusi
      js
      const a = 1, b = 2
      `a + b = ${ a + b }` // a + b = 3
  2. 标签函数

    • 紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串,可以自定义插值行为

      js
      const a = 5, b = 10
      
      tag`Hello ${ a + b } world ${ a * b }`
      // 等同于
      tag(['Hello ', ' world ', ''], 15, 50)

包装类型方法

请看 5-3 原始值包装类型String 包装类型方法