千家信息网

JS ES中模板字符串是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了JS ES中模板字符串是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.模板字符串是什么模板字符串( Temp
千家信息网最后更新 2026年11月02日JS ES中模板字符串是什么

这篇文章主要介绍了JS ES中模板字符串是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.模板字符串是什么

模板字符串( Template String )是增强版的字符串,使用反引号(```)来代替谱通字符串中的用双引号和单引号。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

普通用法如下所示:

// 使用 ` 符号包裹的字符串称为模板字符串let str = `this is str`console.log(typeof str, str); //string this is str

2.多行模板字符串

ECMAScript 2015提供的模板字符串与普通字符串的不同的是模板字符串中的空格、缩进、换行都会被保留。

示例代码如下所指示:

let str = `this       is str`console.log(typeof str, str);/*  string this       is str*/

2.1带表达式的模板字符串

模板字符串是支持嵌入表达式的,语法结构如下所示:

`${expression}`

示例代码如下所示:

let str1 = `this is str1`let str2 = `this is str2`// 只需要将表达式写入 ${} 中let and = `${str1} and ${str2}`console.log(and); // this is str1 and this is str2

3.带标签的模板字符串

模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为标签模板 功能(tagged template )。

let str = 'str'console.log`this is ${str}`;// 等同于console.log(['this is ', ''], str);

标签模板其实不是模板,而是函数调用的一种特殊形式。"标签"指的就是函数,紧跟在后面的模板字符串就是它的参数。

4.原始字符串

在标签函数的第一个参数中,存在一个特殊的属性raw,可以通过它来访问模板字符串的原始字符串,而不是经过特殊替换的字符。

示例代码如下所示:

/*  原始字符串 应用在带标签的模板字符串中  * 在函数的第一个参数中存在 raw 属性,该属性可以获取字符串的原始字符串。  * 所谓的原始字符串,指的是模板字符串被定义时的内容,而不是处理之后的内容*/function tag(string) {  console.log(string.raw[0]);}tag `string test line1 \n string test line2` // string test line1 \n string test line2

另外,使用String.raw()方法出功能键原始字符串和默认模板函数和字符串连接创建是一样的。

示例代码如下所示:

let str = String.raw `Hi\n${2+3}!`;// ,Hi 后面的字符不是换行符,\ 和 n 是两个不同的字符console.log(str); // Hi\n5!

5.判断是否包含某字符串

5.1includes()方法

includes()方法用于判断一个字符串是否包含在另一个字符串中,根据判断结果返回true或false。

语法结构如下所示:

str.includes(searchString[, position])

参数说明:

  • searchString:要在此字符串中搜索的字符串。

  • position:(可选) 从当前字符串的哪个索引位置开始搜寻子字符串,默认值为 0。

值得注意的是includes()方法是区分大小写的。

示例代码如下所示:

let str = 'abcdef';console.log(str.includes('c')); // trueconsole.log(str.includes('d')); // trueconsole.log(str.includes('z')); // falseconsole.log(str.includes('A')); // false

ECMAScript 2015提供的这个includes()方法是区分大小写的,现在我们自己扩展一个不区分大小写的,

示例代码如下所示:

String.prototype.MyIncludes = function (searchStr, index = 0) {  // 将需要判断的字符串全部改成小写形式  let str = this.toLowerCase()  // 将传入的字符串改成小写形式  searchStr = searchStr.toLowerCase();  return str.includes(searchStr, index)}let str = 'abcdef';console.log(str.MyIncludes('c')); // trueconsole.log(str.MyIncludes('d')); // trueconsole.log(str.MyIncludes('z')); // falseconsole.log(str.MyIncludes('A')); // true

5.2startsWith()方法

startsWith()方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回true 或false。

语法结构如下所示:

str.startsWith(searchString[, position])

参数说明:

  • searchString:要在此字符串中搜索的字符串。

  • position:(可选) 从当前字符串的哪个索引位置开始搜寻子字符串,默认值为 0。

值得注意的是startsWith()方法是区分大小写的。

示例代码如下所示:

let str = 'abcdef';/*  * startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头, 并根据判断结果返回 true 或 false。  * str.startsWith(searchString[, position])    参数说明      searchString: 要在此字符串中搜索的字符串。       position: (可选) 从当前字符串的哪个索引位置开始搜寻子字符串, 默认值为 0。  !值得注意的是startsWith() 方法是区分大小写的。*/console.log(str.startsWith('a')); // trueconsole.log(str.startsWith('c', 2)); // trueconsole.log(str.startsWith('c')); // flase

5.3endsWith()方法

endsWith()方法用来判断当前字符串是否是以另外一个给定的子字符串"结尾"的,根据判断结果返回 true 或 false。

语法结构如下所示:

str.endsWith(searchString[, position])

参数说明:

  • searchString:要在此字符串中搜索的字符串。

  • position:(可选) 从当前字符串的哪个索引位置开始搜寻子字符串,默认值为0。

值得注意的是endsWith()方法是区分大小写的。

示例代码如下所示:

let str = 'abcdef';console.log(str.endsWith('f')); // trueconsole.log(str.endsWith('c', 3)); // trueconsole.log(str.endsWith('c')); // flase

以下这两个方法通过可以自己扩展一个不区分大小写的。

感谢你能够认真阅读完这篇文章,希望小编分享的"JS ES中模板字符串是什么"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

字符 字符串 模板 方法 代码 示例 函数 参数 大小 原始 标签 位置 篇文章 索引 结构 结果 语法 搜索 普通 特殊 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 互联网最新的科技有限公司 互联网中国科技 善班互联网科技 美国互联网黑科技 赫美联合互联网科技 互联网金融 科技创新 左右互联网络科技 衡水科技产业互联网平台 互联网科技与管理 佛山市拉法互联网科技有限公司 世界互联网领先科技成果获奖 卓翼科技产业互联网合作 互联网企业科技类企业如何做账 全球科技与互联网公司市值变化 互联网高科技行业有哪些企业 版纳互联网科技选哪家 众联互联网络科技 陕西彩京云互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 湖南永感互联网科技有限公司 壹账通互联网科技 互联网女皇 腾讯科技 佰商互联网科技有限公司 重庆科技学院互联网 常德市电业局互联网科技部 山东星卡互联网科技有限公司官网 北京军民互联网科技公司 现代科技的标志之一的互联网 颐高云石互联网科技
0