ES6 字符串扩展
1、字符串遍历接口
字符串可以被for...of
循环遍历
'use strict';
for (let codePoint of 'foo') {
//控制台输出f o o
console.log(codePoint)
}
2、include(),startsWith(),endsWith()方法
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
'use strict';
let s = 'Hello world!';
// 控制台输出true
console.log(s.startsWith('Hello'))
// 控制台输出true
console.log(s.endsWith('!'))
// 控制台输出true
console.log(s.includes('o'))
这三个方法都支持第二个参数,表示开始搜索的位置。
'use strict';
let s = 'Hello world!';
// 控制台输出true
console.log(s.startsWith('world',6))
// 控制台输出true
console.log(s.endsWith('Hello',5))
// 控制台输出true
console.log(s.includes('world',6))
上面代码表示,使用第二个参数n
时,endsWith
的行为与其他两个方法有所不同,它针对前n
个字符,而其他两个方法针对从第n
个位置直到字符串结束。
3、repeat()
'use strict';
let s = 'Hello world!';
// 控制台输出Hello world!Hello world!
console.log(s.repeat(2))
4、padStart(),padEnd()
padStart()
用于头部补全,padEnd()
用于尾部补全。
'use strict';
// 'ababx'
console.log('x'.padStart(5, 'ab'))
// 'abax'
console.log('x'.padStart(4, 'ab'))
// 'xabab'
console.log('x'.padEnd(5, 'ab'))
// 'xaba'
console.log('x'.padEnd(4, 'ab'))
上面代码中,padStart
和padEnd
一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
'use strict';
// 'mfg'
console.log('mfg'.padStart(2, 'ab'))
// 'mfg'
console.log('mfg'.padEnd(2, 'ab'))
padStart
的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。
'use strict';
// "0000000001"
console.log('1'.padStart(10, '0'))
// "0000000012"
console.log('12'.padStart(10, '0'))
// "0000123456"
console.log('123456'.padStart(10, '0'))
另一个用途是提示字符串格式。
'use strict';
// "YYYY-MM-12"
console.log('12'.padStart(10, 'YYYY-MM-DD'))
// "YYYY-09-12"
console.log('09-12'.padStart(10, 'YYYY-MM-DD') )
5、字符串模板
'use strict';
let name = "Bob", time = "today";
//嵌入变量
let s= `Hello ${name}, how are you ${time}?`;
//输出
console.log(s)
ES6 字符串扩展的更多相关文章
- ES6字符串扩展
前面的话 字符串是编程中重要的数据类型,只有熟练掌握字符串操作才能更高效地开发程序.JS字符串的特性总是落后于其它语言,例如,直到 ES5 中字符串才获得了 trim() 方法.而 ES6 则继续添加 ...
- 【ES6 】ES6 字符串扩展及新增方法
模板字符串 传统写法 var str = 'There are <b>' + basket.count + '</b> ' + 'items in your basket, ' ...
- es6字符串扩展 -- 字符串长度补全功能 padStart(), padEnd()
ES2017 引入了字符串补全长度的功能.如果某个字符串不够指定长度,会在头部或尾部补全.padStart()用于头部补全,padEnd()用于尾部补全. 'x'.padStart(5, 'ab') ...
- es6字符串扩展(+模板字符串拼接)
includes() 判断字符串中是否包含指定的字串(有的话返回true,否则返回false) console.log('hello world'.includes('world' , 7)); // ...
- es3中使用es6/7的字符串扩展
最近在看阮一峰的<ES6标准入门>,在字符串扩展一节中有提到几个新的扩展,觉得挺有意思,想在ES3里面使用,于是就有下面的兼容性写法. repeat 将一个字符串重复n次 String.p ...
- es6 字符串的扩展和数值的扩展
es6字符串的扩展 1. es6新增的一些方法 1.1 includes 判断是否包括在内,返回一个 true or false 1.2 statsWith 判断是否以什么开头,返回一个 true o ...
- ES6中字符串扩展
ES6中字符串扩展 ① for...of 遍历字符串: 例如: for(let codePoint of 'string'){ console.log(codePoint) } 运行结果: ② in ...
- ES6之字符串扩展
ES6字符串新增的常用方法: 1. includes(): 字符串中是否包含某个字符或字符串, 包含的两个字符必须是相连的 let str = 'hello, world' str.includes( ...
- 【ES6基础】字符串扩展
4.字符串扩展 (1)for...of循环遍历. let foo = [1,2,3,4,5,6] for(let i of foo){ console.log(i); } 结果: (2)include ...
随机推荐
- Luogu P3391 【模板】文艺平衡树(FHQ-Treap)
题意 给出一个长为$n$序列$[1,2,...,n]$,$m$次操作,每次指定一段区间$[l,r]$,将这段区间翻转,求最终序列 题解 虽然标题是$Splay$,但是我要用$FHQ\ Treap$,考 ...
- 图形管线之旅 Part 1
原文:<A trip through the Graphics Pipeline 2011> 翻译:往昔之剑 转载请注明出处 你可以找到很多PC图形栈的功能描述,但是通常却不明所以 ...
- Flask实战第60天:帖子分页技术实现
编辑manage.py,添加测试帖子 @manager.command def create_test_post(): for x in range(1, 100): title = '标题{}'.f ...
- CocurrentHashMap和HashTable区别分析
集合是编程中最常用的数据结构.而谈到并发,几乎总是离不开集合这类高级数据结构的支持.比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap).这篇文章主 ...
- [USACO] 2017 DEC Bronze&Silver
link:http://www.usaco.org/index.php?page=dec17results Problem A(Bronze) 这是一道非常简单的判断重叠面积的题目,但第一次提交仍会出 ...
- [BZOJ3529]数表
假设$n\leq m$,我们先不考虑$\leq a$的限制 $\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sigma((i,j))=\sum\limits_{T=1} ...
- linux centos下安装docker
1.在vm中装好好centos后,更新内核 运行docker需要内核版本为3.8或者更高的版本,内核必须支持一种合适的存储驱动(Drivice Mapper.AUFS.vfs.btrfs.ZFS),默 ...
- bootstrapTable定位行固定滚动条
写在前面: 当页面table列表数据有修改后,用户需要再次回到修改的行位置. 1.当修改行数据后,table刷新,行数据位置前后不发生改变 ,可使用下面这种方法: /*获取当前滚动条的位置*/ var ...
- 你真的完全了解Java动态代理吗?看这篇就够了
之前讲了<零基础带你看Spring源码--IOC控制反转>,本来打算下一篇讲讲Srping的AOP的,但是其中会涉及到Java的动态代理,所以先单独一篇来了解下Java的动态代理到底是什么 ...
- Token-Pasting Operator (##) and Stringizing Operator (#)
Token-Pasting Operator (##)The double-number-sign or “token-pasting” operator (##), which is sometim ...