ES6模板字符串

ES6 模板字符串(Template String)是一种增强版的字符串,主要解决传统字符串拼接繁琐、多行字符串处理麻烦等问题,通过反引号(`)包裹,支持变量嵌入多行字符串表达式计算等功能。

复制代码
// 传统方式
        const str = "第一行\n第二行\n第三行";

        // 模板字符串
        const str1 = `第一行
第二行
第三行`
        console.log(str);
        console.log(str1);

模板字符串极大简化了字符串拼接场景(如动态生成 HTML、日志输出等),是 ES6 中最常用的特性之一。

嵌入变量

复制代码
        const name = 'syz';
        const age = 18;
        const info =`姓名是:${name},年龄是:${age}`;
        console.log(info);

嵌入表达式

复制代码
   const newyear = `明年是:${age+1}岁`
   console.log(newyear)

嵌入函数调用

复制代码
 const sayhi= ()=>'您好'
        console.log(`${sayhi()},${name}`);

当你想引用反引号的时候

复制代码
// 错误写法(会报错)
const str = `这是一个反引号:`; 
// 解析时会认为第一个`是开始,第二个`是结束,中间的内容为空,导致语法错误

// 正确写法(用\转义)
const str = `这是一个反引号:\``; 
// 这里的 \` 会被解析为一个普通的反引号符号,而不是模板字符串的结束符
console.log(str); // 输出:这是一个反引号:`

标签函数(高级用法)

函数后面用``承接字符串和变量。具体用法我也不是很明白,会用的朋友可以在评论区为我答疑解难。

复制代码
// 定义一个标签函数
function myTag(strings, ...values) {
  console.log("字符串片段:", strings);
  console.log("嵌入的变量:", values);
  return "处理后的结果";
}

// 使用标签函数
const name = "Alice";
const age = 25;
const result = myTag`姓名:${name},年龄:${age}`;
相关推荐
kyriewen9 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒10 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮10 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦11 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer11 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队11 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY11 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_11 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏12 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站12 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控