当前位置: 首页 > news >正文

模板字符串【ES6】

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

目录

  • 什么是模板字符串?
  • 模板字符串特性及代码举例:
  • 详细举例用法:

什么是模板字符串?

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

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

  • 多行字符串‌:模板字符串可以直接包含换行符,而不需要使用转义字符(\n)或字符串连接符(+)来连接多行字符串。
let message = `Hello,
world!`;
console.log(message);
//Hello,
//world!
  • 嵌入表达式‌:模板字符串中可以使用${}语法来嵌入表达式。这些表达式会被求值,并将其结果转换为字符串后嵌入到模板字符串中。
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.
  • 标签模板:模板字符串前面可以添加一个“标签”函数,该函数可以对模板字符串的内容进行处理,并返回一个结果。这提供了一种高级用法,允许开发者完全控制模板字符串的处理方式。
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方法来获取“原始”字符串,即不对反斜杠(\)进行转义处理。
let path = `C:\Users\name`;
let rawPath = String.raw`C:\Users\name`;
console.log(path);   // 输出: C:\Usersame
console.log(rawPath);// 输出: C:\Users\name

详细举例用法:

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

<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>

在这里插入图片描述

<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>

在这里插入图片描述

http://www.lryc.cn/news/545407.html

相关文章:

  • 通往 AI 之路:Python 机器学习入门-数据结构
  • 我们应该如何优化UI(基于UGUI)
  • CSS3 圆角:实现与优化指南
  • 【网络安全 | 扫描子域+发现真实IP】CloakQuest3r安装使用详细教程
  • Mellanox OFED驱动如何给全局编译添加gcc的编译选项?(subdir-ccflags-y += -Wall)
  • 【愚公系列】《Python网络爬虫从入门到精通》037-文件的存取
  • 【一起学Rust | Tauri2.0框架】单实例应用程序的深入解析:零漏洞实现与优化实战
  • PhyloSuite v1.2.3安装与使用-生信工具049
  • 使用Apache Lucene构建高效的全文搜索服务
  • SSH远程登录并执行命令
  • EasyRTC:支持任意平台设备的嵌入式WebRTC实时音视频通信SDK解决方案
  • Golang语言特性
  • LangPrompt提示词
  • Java 容器之 List
  • ETL-kettle数据转换使用详解
  • 【容器化】低版本docker拉取ubuntn 22.04镜像启动容器执行apt update提示 NO_PUBKEY 871920D1991BC93C
  • Hive-04之存储格式、SerDe、企业级调优
  • Makefile、Make和CMake:构建工具的三剑客
  • The “Rule-of-Zero“ should be followed (s4963)
  • Kotlin语言特性(二):泛型与注解
  • FunPapers[3]:WWW‘25「快手」生成式回归预测观看时长
  • 并发编程1
  • Hadoop之01:HDFS分布式文件系统
  • 从源到目标:深度学习中的迁移学习与领域自适应实践
  • WebRTC与PJSIP:呼叫中心系统技术选型指南
  • 使用IDEA如何隐藏文件或文件夹
  • 【人工智能】数据挖掘与应用题库(1-100)
  • 腾讯云大模型知识引擎驱动的DeepSeek满血版医疗顾问大模型搭建实战
  • 大白话页面加载速度优化的工具与实践案例
  • 【JAVA面试题】什么是面向对象?谈谈你对面向对象的理解。