首页 > 作文

JS ES新特性 模板字符串

更新时间:2023-04-04 00:05:09 阅读: 评论:0

目录
1.模板字符串是什么 2.多行模板字符串 2.1带表达式的模板字符串 3.带标签的模板字符串 4.原始字符串 5.判断是否包含某字符串 5.1includes()方法 5.2startswith()方法 5.3endswith()方法

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()方法用于判断一个字符串是否包含在另一个字符串中,根据判断结果返回truefal

语法结构如下所示:

str.includes(archstring[, position])

参数说明:

archstring职工养老保险新政策:要在此字符串中搜索的字符串。position:(可选) 从当前字符串的哪个索引位置开始搜寻子字符串,默认值为 0。

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

示例代码如下所示:

let str = 'abcdef';console.log(str.includes('c')); // trueconsole.log(str.includes('d')); // trueconsole.log(str.includes('z')); // falconsole.log(str.includes('a')); // fal

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

示例代码如下所示:

string.prototype.myincludes = function (archstr, index = 0) {  // 将需要判断的字符串全部改成小写形式  let str = this.tolowerca()  // 将传入的字符串改成小写形式  archstr = archstr.tolowerca();  return str.includes(archstr, index)}let str = 'abcdef';console.log(str.myincludes('c')); // trueconsole.log(str.myincludes('d')); // trueconsole.log(str.myincludes('z')); // falconsole.log(str.myincludes('a')); // true

5.2startswith()方法

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

语法结构如下所示:

str.startswith(archstring[, position])

参数说明:

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

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

示例代码如下所示:

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

5.3endswith()方法

endswifailtoth()方法用来判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 true fal

语法结构如下所示:

str.endswith(archstring[, position])

参数说明:

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

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

示例代码如下所示:

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

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

到此这篇关于js es新特性 模板字符串的文章就介绍到这了,更多相关es模板字符串内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 00:05:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/80f5f79dcdf629338b231ae18e4d1717.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:JS ES新特性 模板字符串.doc

本文 PDF 下载地址:JS ES新特性 模板字符串.pdf

标签:字符串   模板   所示   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图