javaScript:模板字符串让你忘记字符串拼接

目录

一.前言

二.模板字符串的使用

1.介绍

 2.模板字符串 支持换行

 模板字符串更适合元素写入

innerHTML模板字符串写法

3.模板字符串中,可以运行表达式

4.模板字符串中可以运行函数

 三.总结

语法:

多行字符串:

变量插值:

代码可读性:

容错性:


一.前言

       JavaScript中的模板字符串(Template Strings),也称为模板字面量,是一种方便创建多行字符串和插入表达式的方式。使用模板字符串可以将变量、表达式或函数嵌入到字符串中,而无需使用字符串连接操作符(+)。模板字符串使用反引号(`)作为字符串的定界符,而不是单引号或双引号。

二.模板字符串的使用

1.介绍

模板字符串

    使用 反引号 `` 作为字符串的标识

    在模板字符串中使用变量,使用方法是${变量名}

模板字符串对比传统字符串拼接在写法上和功能上都有明显优势

 let username = '岳飞'
    let age = 36
    let story = '打败金兀术'

    let str = '姓名:'+username+'年龄:'+age+'事迹:'+story
    console.log(str);
    /*
    模板字符串
    使用 反引号 `` 作为字符串的标识
    在模板字符串中使用变量,使用方法是${变量名}
    */ 
    let str1 = `姓名: ${username},年龄: ${age},事迹:${story}`
    console.log(str1);

 2.模板字符串 支持换行

    /*模板字符串 支持换行*/

    let str2 = `
        姓名:${username}
        姓名:${age}
        事迹:${story}
    `
    console.log(str2)

 模板字符串更适合元素写入

        在JavaScript中,使用字符串拼接进行换行可能会导致错误(或使用转义符(\n)插入换行符比较麻烦),但使用模板字符串则不会出现此问题。而且,通过使用模板字符串和innerHTML属性可以实现换行效果。相比之下,模板字符串对于代码的可读性和容错性都更高。

innerHTML模板字符串写法

  let btn = document.getElementById('btn')
    let list = document.getElementById('list')

    btn.onclick = function(){
        let html = ''
        for (let i = 0; i < 10; i++) {
           html += `
        <li>
            <h1>${username}</h1>
            <p>${age}</p>
            <p>${story}</p>
        </li>
           `
            
        }
        list.innerHTML = html
    }

3.模板字符串中,可以运行表达式

  /*
    模板字符串中,可以运行表达式
    */
   let str3 = `1+1=${1+1}`
   console.log(str3);

   let str4 = `同时天涯沦落人,${3>4? '莫愁前路无知己':'从此消亡是路人'}`
   console.log(str4);

 

 

4.模板字符串中可以运行函数

/*
模板字符串中可以运行函数
*/    
function show(){
    return '莫愁前路无知己'
}
let str5 = `${show()},凭君传语报平安`
console.log(str5);

 三.总结

       模板字符串和字符串拼接都用于创建字符串,但它们在语法和功能上有一些区别。下面是模板字符串和字符串拼接的对比总结:

语法:

  • 字符串拼接使用加号(+)或concat等方法来连接多个字符串。
  • 模板字符串使用反引号()作为定界符,并使用占位符${}`插入变量、表达式或函数调用。

多行字符串:

  • 字符串拼接需要使用换行符和字符串连接操作符来创建多行字符串,或者使用转义符(\n)插入换行符。
  • 模板字符串直接支持多行字符串,无需使用换行符或连接操作符,可以保留字符串中的换行符和缩进。

变量插值:

  • 字符串拼接需要将变量通过加号或其他方法与字符串连接起来。
  • 模板字符串可以在占位符${}中直接插入变量、表达式或函数调用,并与其他字符串内容无缝搭配。

代码可读性:

  • 字符串拼接可能会造成较长、难以阅读和维护的代码,尤其是在含有大量变量或复杂逻辑的情况下。
  • 模板字符串提供了更清晰、更易读的语法,将变量直接嵌入字符串中,使代码更易于理解和修改。

容错性:

  • 字符串拼接容易出现遗漏加号或出错的情况,特别是在复杂的拼接操作中。
  • 模板字符串在插入变量或表达式时更直观且容易检查,并且避免了常见的错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/77861.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【hello C++】特殊类设计

目录 一、设计一个类&#xff0c;不能被拷贝 二、设计一个类&#xff0c;只能在堆上创建对象 三、设计一个类&#xff0c;只能在栈上创建对象 四、请设计一个类&#xff0c;不能被继承 五、请设计一个类&#xff0c;只能创建一个对象(单例模式) C&#x1f337; 一、设计一个类&…

预演攻击:谁需要网络靶场,何时需要

"网络演习 "和 "网络靶场 "几乎是当今信息安全领域最流行的词汇。与专业术语不同的是&#xff0c;这些词对于企业和高级管理人员来说早已耳熟能详&#xff1a;法律要求他们进行演习&#xff0c;包括网络演习&#xff0c;而网络射击场也经常在企业界和媒体上…

C语言刷题指南(一)

&#x1f4d9;作者简介&#xff1a; 清水加冰&#xff0c;目前大二在读&#xff0c;正在学习C/C、Python、操作系统、数据库等。 &#x1f4d8;相关专栏&#xff1a;C语言初阶、C语言进阶、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &am…

从源代码编译构建Hive3.1.3

从源代码编译构建Hive3.1.3 编译说明编译Hive3.1.3更改Maven配置下载源码修改项目pom.xml修改hive源码修改说明修改standalone-metastore模块修改ql模块修改spark-client模块修改druid-handler模块修改llap-server模块修改llap-tez模块修改llap-common模块 编译打包异常集合异常…

【C++精华铺】8.C++模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板的概念及格式 2.2 函数模板的原理 2.3 模板的实例化 2.4 模板参数的匹配原则 3. 类模板 3.1 类模板格式 3.2 类模板的实例化 1. 泛型编程 什么是泛型编程&#xff1f;泛型编程是避免使用某种具体类型而去使用某种通用类型来进行…

【24择校指南】华东师范大学计算机考研考情分析

华东师范大学(B) 考研难度&#xff08;☆☆☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分数人数统计&#xff09;、院校概况、23考试科目、23复试详情、各科目及专业考情分析。 正文2563字&#xff0c;预计阅读&#xff1a;3分钟。 2023考情概况…

CS5523规格书|MIPI转EDP方案设计|替代LT8911芯片电路原理|ASL集睿致远CS替代龙讯

ASL芯片&#xff08;集睿致远&#xff09; CS5523是一款MIPI DSI输入&#xff0c;DP/e DP输出转换芯片&#xff0c;可pin to pin替代LT8911龙讯芯片。 MIPI DSI 最多支持 4 个通道&#xff0c;每个通道的最大运行速度为 1.5Gps。对于DP 1.2输出&#xff0c;它支持1.62Gbps和2.…

mysql知识点+面试总结

目录 1 mysql介绍 2 数据库常见语法 3 数据库表的常见语法 4 其他常见语法&#xff08;日期&#xff0c;查询表字段&#xff09; 5 JDBC开发步骤 6 索引 6.1 索引常见语法 7 常见面试总结 8 java代码搭建监控页面 1 mysql介绍 数据库&#xff1a;存储在硬盘上的文件系统…

Linux 5种网络IO模型

Linux IO模型 网络IO的本质是socket的读取&#xff0c;socket在linux系统被抽象为流&#xff0c;IO可以理解为对流的操作。刚才说了&#xff0c;对于一次IO访问&#xff08;以read举例&#xff09;&#xff0c;数据会先被拷贝到操作系统内核的缓冲区中&#xff0c;然后才会从操…

python_PyQt5运行股票研究python方法工具V1.1_增加表格展示控件

承接 【python_PyQt5运行股票研究python方法工具V1.0】 地址 python_PyQt5运行股票研究python方法工具V1.0_程序猿与金融与科技的博客-CSDN博客 目录 结果展示&#xff1a; 代码&#xff1a; 示例py文件代码&#xff08;计算股票日横截面数据&#xff09; 参数json文件 表…

ABAP 新语法--Data Processing

1. String Template 新语法引入了字符串模板&#xff0c;用于处理字符串连接以及格式转换 字符串模板在 | … | 之间定义&#xff0c;主要分为两部分&#xff0c;固定文本和变量 其中&#xff0c;变量只能在 { … } 内使用&#xff0c;大括号之外的所有字符均作为固定文本使用…

git权限问题解决方法Access denied fatal: Authentication failed

文章目录 遇到Access denied 的权限问题解决方法1、git的密码修改过&#xff0c;但是本地没更新。2、确定问题&#xff0c;然后增加配置① 查询用户信息②如果名称和email不对&#xff0c;设置名称&#xff1a;③ 检查ssh-add是否链接正常④ 设置不要每次都输入用户名密码 3、配…

Linux学习之基本指令一

在学习Linux下的基本指令之前首先大家要知道Linux下一切皆目录&#xff0c;我们的操作基本上也都是对目录的操作&#xff0c;这里我们可以联想我们是如何在windows上是如何操作的&#xff0c;只是形式上不同&#xff0c;类比学习更容易理解。 目录 01.ls指令 02. pwd命令 0…

Linux的基本权限(文件,目录)

文章目录 前言一、Linux权限的概念二、Linux权限管理 1.文件访问者分类2.文件类型和访问类型3.文件访问权限的相关设置方法三、目录的权限四、权限的总结 前言 Linux下一切皆文件&#xff0c;指令的本质就是可执行文件&#xff0c;直接安装到了系统的某种路径下 一、Linux权限的…

带你了解Cloudquery 安装使用功能

&#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609;&#x1f609; &#x1f495;欢迎大家&#xff1a;这里是CSDN&#xff0c;我总结…

第九章 动态规划part10(代码随想录)

121. 买卖股票的最佳时机 1. 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 用二维dp数组表示第i天的2种状态 dp[i][0] 表示第i天持有股票所得最多现金&#xff0c;可能i-1天就买股票了 dp[i][1] 表示第i天不持有股票所得最多现金 最后求&#xff1a;dp[len-1][0…

Python系统学习1-9-类一之类语法

一、类之初印象 1、类就是空表格&#xff0c;将变量&#xff08;列名&#xff09;和函数&#xff08;行为&#xff09;结合起来 2、创建对象&#xff0c;表达具体行 3、创建类就是创建数据的模板 --操作数据时有提示 --还能再组合数据的行为 --结构更加清晰 4、类的内存分配…

git日常操作-案例

文章目录 查看tag对应版本tag一个版本切换到指定tag查看远程有那些分支 查看tag对应版本 要查看 Git 仓库中标签&#xff08;tag&#xff09;对应的版本&#xff0c;可以使用以下命令&#xff1a; git show <tag>将 替换为你要查看的标签名称。该命令将显示与标签对应的…

爬虫IP时效问题:优化爬虫IP使用效果实用技巧

目录 1. 使用稳定的代理IP服务提供商&#xff1a; 2. 定期检测代理IP的可用性&#xff1a; 3. 配置合理的代理IP切换策略&#xff1a; 4. 使用代理IP池&#xff1a; 5. 考虑代理IP的地理位置和速度&#xff1a; 6. 设置合理的请求间隔和并发量&#xff1a; 总结 在爬虫过…

POSTGRESQL 关于2023-08-14 数据库自动启动文章中使用KILL 来进行配置RELOAD的问题解释...

开头还是介绍一下群&#xff0c;如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis &#xff0c;SQL SERVER ,ORACLE,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加 liuaustin3微信号 &…