模板字符串【ES6】

"路漫漫其修远兮,吾将上下而求索。"------ 屈原《离骚》

目录

什么是模板字符串?

模板字符串(Template Literals)是JavaScript中引入的一种新的字符串表示方式,它使用反引号(`)而不是单引号(')或双引号(")来定义字符串。

模板字符串特性及代码举例:

  • 多行字符串‌:模板字符串可以直接包含换行符,而不需要使用转义字符(\n)或字符串连接符(+)来连接多行字符串。
javascript 复制代码
let message = `Hello,
world!`;
console.log(message);
//Hello,
//world!
  • 嵌入表达式‌:模板字符串中可以使用${}语法来嵌入表达式。这些表达式会被求值,并将其结果转换为字符串后嵌入到模板字符串中。
javascript 复制代码
let name = "Alice";
let age = 30;
let greeting = `Hello, ${name}! You are ${age} years old.`;
console.log(greeting);// Hello, Alice! You are 30 years old.
  • 标签模板:模板字符串前面可以添加一个"标签"函数,该函数可以对模板字符串的内容进行处理,并返回一个结果。这提供了一种高级用法,允许开发者完全控制模板字符串的处理方式。
javascript 复制代码
let name = "Alice";
let age = 30;
function tag (strings, ...values) {
      console.log(strings); // 模板字符串中的静态部分
      console.log(values);  // 插值表达式的结果
      return `Tagged template result`;
}

let result = tag`My name is ${name} and I am ${age} years old.`;
console.log(result);
  • String.raw方法‌:模板字符串还可以通过String.raw方法来获取"原始"字符串,即不对反斜杠(\)进行转义处理。
javascript 复制代码
let path = `C:\Users\name`;
let rawPath = String.raw`C:\Users\name`;
console.log(path);   // 输出: C:\Usersame
console.log(rawPath);// 输出: C:\Users\name

详细举例用法:

${ }里面可以放表达式、+ 、-、*、/、普通变量、三目运算符、调用函数等!!!

javascript 复制代码
<body>
  <ul>
  </ul>
  <style>
    .active {
      color: red;
    }
  </style>
  <script>
    let arr = ['kitty', 'Alice', 'Bob'];
    let newList = arr.map((item, index) => {
      return `<li class="${index == 0 ? 'active' : ''}">
        <b>${item}</b>
      </li>`;
    })
    console.log(newList);
    let oul = document.querySelector("ul");
    oul.innerHTML = newList.join("")
  </script>
</body>
javascript 复制代码
<body>
  <ul>
  </ul>
  <style>
    .active {
      color: red;
    }
  </style>
  <script>
    let name = 'Kitty';
    let oli = `<li><b> ${name}</b></li>`
    function test () {
      return "自定义添加的内容"
    }
    let arr = ['kitty', 'Alice', 'Bob'];
    let newList = arr.map((item, index) => {
      return `<li class="${index == 0 ? 'active' : ''}">
        <b>${item}</b>
        ${test()}
      </li>`;
    })
    console.log(newList);
    let oul = document.querySelector("ul");
    oul.innerHTML = newList.join("")
  </script>
</body>
相关推荐
是翔仔呐5 分钟前
第6章 UART串口通信!掌握单片机与外界的双向数据通道,实现跨设备交互
c语言·开发语言·单片机·嵌入式硬件·gitee
带娃的IT创业者6 分钟前
从本地开发到 PyPI发布:WeClaw 的 Python 包标准化之旅
开发语言·python
2201_758642647 分钟前
自定义内存检测工具
开发语言·c++·算法
吠品10 分钟前
QEMU Windows虚拟机NAT网络配置指南:实现IP自动获取与外部访问
开发语言·php
fpcc11 分钟前
C++编程实践—操作系统调优和内核旁支
开发语言·c++
英俊潇洒美少年16 分钟前
Vue3 中 watch的 flush 选项(默认无/`post`/`sync`)的区别
前端·javascript·vue.js
不想看见40417 分钟前
QAbstractItemModel 自定义实现--Qt 模型 / 视图(MVC)
开发语言·qt·mvc
不想看见40418 分钟前
Qt 事件循环与事件过滤器讲解【详细】
开发语言·数据库·qt
FL162386312919 分钟前
基于yolov8+pyqt5实现的水尺图像识别与水深计算系统
开发语言·qt·yolo
sycmancia19 分钟前
QT——GUI程序原理分析、Hello QT、调试的基本方法
开发语言·qt