js模板字符串

资料与笔记

资料原文
作者笔记pdf

定义

模板字面量(模板字符串): 允许在其中嵌入表达式的字符串字面量

  • 属于字符串字面量

  • 允许将表达式嵌入其中(字符串插值)

  • 可以是多行字符串

主要功能:

​ 字符串插值(使用混合常量、变量、字面量和表达式的字符串字面量构造新 String值)


语法形式

  • 单行简单字符串

    ` string text`
    
  • 多行简单字符串

    `string text line1
     string text line2`
    
  • 带占位符

    `string text ${expression} string text`
    
  • 带标签

    tag`string text string text`
    
  • 以上几种的混合

    tag `string text ${expression} string text`
    

模板字符串特征(反引号,占位符,标签)

  • 反引号:

    • 普通字符串字面量: 用单引号或双引号标识
    • 模板字符串字面量: 用反引号(``)标识
    • 引号转义问题:
      • 普通字符串字面量内使用单双引号: 需要反斜杠\转义
      • 模板字符串内使用反引号:
        • 模板字符串嵌套: 无需转义
        • 其他: 需要反斜杠\转义
  • 占位符: 形如 ${expression}的语法结构

    ​ 占位符中表达式会和周围的文本一起被传递给一个默认的函数, 该函数负责将所有的部分连接起来,返回最终组合的新字符串的值.

  • 标签

    • 模板字符串若由表达式开头,该表达式被称为标签

    • 标签通常是一个函数(或者最终值为函数类型的复杂表达式)

    • 标签函数会在模板字符串处理完毕,形成最终输出之前被调用

      (各占位符表达式的值前后其他普通字符串 被当做参数传给该标签函数)


字符串插值示例

  • 不使用模板字符串:

    var a = 5;
    var b = 10;
    console.log('Fifteen is ' + (a + b) + ' and\nnot ' + (2 * a + b) + '.');
    // "Fifteen is 15 and
    // not 20."
    
  • 模板字符串

    var a = 5;
    var b = 10<
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值