ES2015字符串的扩展
来源:互联网 发布:linux 删除u盘分区 编辑:程序博客网 时间:2024/05/12 07:08
includes()、startsWith()、endsWith()
传统上,JavaScript只有indexOf
方法,可以用来确定一个字符串是否包含在另一个字符串中。
ES6又提供了三种新方法
- 1
- 2
- 3
- 1
- 2
- 3
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
这3个方法都支持第二个参数,表示开始索索的位置
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
上面的代码表示,使用第二个参数n
时,endWith
的行为与其他两个方法有所不同。它针对前n
个字符,而其他两个方法针对从第n
个位置知道字符串结束。
repeat()
repeat
方法返回一个新字符串,表示把原字符串重复n
次
- 1
- 2
- 3
- 1
- 2
- 3
参数如果是小数,会被取整
- 1
- 1
如果repeat()
的参数是负数或者Infinity
,会报错
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
参数NaN
等同于0
- 1
- 1
padStart(),padEnd()
ES7推出了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
如果省略第二个参数,则会用空格补全长度
- 1
- 2
- 1
- 2
padStart()
常见用途是为数值补全指定位数:
- 1
- 2
- 3
- 1
- 2
- 3
另一个用途是提升字符串格式:
- 1
- 2
- 1
- 2
模板字符串
传统的JavaScript语言,输出模板通常是这样写的。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
上面这种写法相当繁琐不方便,ES6引入了模板字符串解决这个问题。
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
模板字符串中嵌入变量,需要将变量名写在${}之中。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
模板字符串之中还能调用函数。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
如果模板字符串中的变量没有声明,将报错
- 1
- 2
- 3
- 1
- 2
- 3
如果需要引用模板字符串本身,在需要时执行,可以像下面这样写。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
标签模板
模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。
- 1
- 2
- 3
- 1
- 2
- 3
标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。
- ES2015字符串的扩展
- ES2015字符串的扩展
- ES2015字符串的扩展
- ES2015函数扩展 - 函数参数的默认值
- ES2015函数扩展 - 函数参数的默认值
- ES2015数组扩展
- ES2015函数扩展
- ES2015数组扩展 - Array.from()
- ES2015数组扩展 - Array.from()
- es2015
- es2015
- 字符串的扩展
- 【ES6】字符串的扩展
- 字符串的扩展
- 字符串方法的扩展
- 【es6】字符串的扩展
- 字符串的扩展
- 字符串的扩展
- linux文件锁-续篇
- 百度地图集成
- 在linux系统上如何安装redis
- Mac上安装Android Studio2.2.2
- HDU1503 Advanced Fruits
- ES2015字符串的扩展
- angular2 国内环境搭建
- PAT_A 1016. Phone Bills (25)
- PHP 开发环境搭建
- NSStringAdditions中的UIInterfaceOrientation报错
- 如何实现分布式登录
- Android 权限use-permision
- ORACLE毫秒与日期的相互转换
- 从X86架构来源开始:谈CPU