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}`;
相关推荐
栀秋6667 小时前
当我把 proto 打印出来那一刻,我懂了JS的原型链
前端·javascript
小离a_a7 小时前
flex垂直布局,容器间距相等
开发语言·javascript·ecmascript
Cassie燁7 小时前
element-plus源码解读1——useNamespace
前端·vue.js
一直在学习的小白~7 小时前
npm发布脚手架流程
前端·npm·node.js
ErMao7 小时前
TypeScript的泛型工具集合
前端·javascript
涔溪7 小时前
如何解决微前端架构中主应用和微应用的通信问题?
前端·架构
重铸码农荣光8 小时前
深入理解 JavaScript 原型链:从 Promise.all 到动态原型的实战探索
前端·javascript·promise
我叫黑大帅8 小时前
什么叫可迭代对象?为什么要用它?
前端·后端·python
颜渊呐8 小时前
Vue3 + Less 实现动态圆角 TabBar:从代码到优化实践
前端·css
PineappleCoder8 小时前
pnpm 凭啥吊打 npm/Yarn?前端包管理的 “硬链接魔法”,破解三大痛点
前端·javascript·前端工程化