字符串的for of

ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历。

const str='abcd';
for(let s of str){
console.log(s)
}

✨模板字符串

//es5
var name='小明',
age=18;
console.log('我叫'+name+'今年'+age+'岁') //es6
console.log(`我叫${name}今年${age}岁`);

注意:模板字符串使用 ``,即不是双引号"",也不是单引号''

``通常在键盘左上角ESC按键下方


新增字符串方法

String.includes(searchStr)

  • 描述:判断是否含有目标字符串searchStr
  • {
    const str='hello world';
    console.log(str.includes('hello'));//true
    }

String.startsWith(searchStr,position?)

  • 描述:判断字符串是否以searchStr开头,第二个参数position(可选)默认为0,表示从第几个字符开始向后判断
  • {
    const str='hello world';
    console.log(str.startsWith('hello'));//true
    console.log(str.startsWith('abc'));//false
    console.log(str,startsWith('hello',1));//false
    console.log(str,startsWith('world',6));//true
    }

String.endsWith(searchStr,position?)

  • 描述:判断字符串是否以searchStr结尾,同样第二个参数position(可选)默认为原字符串长度,表示从第几个字符开始向前判断
  • {
    const str='hello world';
    console.log('endsWith', str.endsWith('world'));//true
    console.log('endsWith', str.endsWith('abc'));//false
    console.log('endsWith', str.endsWith('world',11));//true
    console.log('endsWith', str.endsWith('hello', 5));//true
    console.log('endsWith', str.endsWith('hello', 7));//false }

String.repeat(n)

  • 描述:repeat方法返回一个新字符串,表示将原字符串重复n次。
    let str='abcd';
str=str.repeat(3);
console.log(str);//abcdabcdabcd

ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。

1.String.padStart(length,fillStr?)头部补全

2.String.padEnd(length,fillStr?) 尾部补全

  • length: 补全后的字符串长度
  • fillstr: 用于填充的字符串,默认为空格
    let str='5678'
console.log(str.padStart(8,'abc'));//abca5678
console.log(str.padEnd(8,'abc'));//5678abca

实例

//提示日期
let str = '08-12'
console.log(str.padStart(10, 'yyyy-MM-dd'));//yyyy-08-12

ES2019 对字符串实例新增了trimStart()和trimEnd()这两个方法。它们的行为与trim()一致,trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

const s = '  abcd  ';
s.trim() //"abcd"
s.trimStart() //"abc "
s.trimEnd() //" abc"

ES6学习笔记之字符串的扩展的更多相关文章

  1. ES6学习笔记(3)----字符串的扩展

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 字符串的扩展ES6之前只能识别\u0000 - \uFFFF 之间的字符,超过此范围,识别会出错 ...

  2. es6学习笔记--模板字符串

    这几天简单看了一下深入浅出es6这本书,感觉特实用,学习了一个新特性---模板字符串在项目开发中,拼接字符串是不可缺少的,动态创建dom元素以及js操作数据都要拼接字符串,在es6出来之前,我们都通常 ...

  3. es6学习笔记9--函数的扩展

    函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,为了避免这个问题,通常需要先判断一下参数y是否被赋值,如果没有,再等于默认值. ES6允许为函数的参数设置默认值,即直接写在参 ...

  4. ES6 学习笔记之四 对象的扩展

    ES6 为对象字面量添加了几个实用的功能,虽然这几个新功能基本上都是语法糖,但确实方便. 一.属性的简洁表示法 当定义一个对象时,允许直接写入一个变量,作为对象的属性,变量名就是属性名. 例1: , ...

  5. ES6学习笔记(二)——字符串扩展

    相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习 ...

  6. ES6学习笔记(一)——扩展运算符和解构赋值

    前言 随着前端工程化的快速推进,在项目中使用ES6甚至更高的ES7等最近特性早已不是什么新鲜事.之前还觉得既然浏览器支持有限,那了解一下能看懂就好,然而仅仅了解还是不够的,现在放眼望去,那些成熟框架的 ...

  7. ES6学习笔记(三)——数值的扩展

    看到这条条目录有没有感觉很枯燥,觉得自己的工作中还用不到它所以实在没有耐心看下去,我也是最近得闲,逼自己静下心来去学习去总结,只有在别人浮躁的时候你能静下心来去学去看去总结,你才能进步.毕竟作为前端不 ...

  8. ES6学习笔记二:各种扩展

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7242967.html 一:字符串扩展 1:字符串遍历器 for (let char of str) { // ...

  9. ES6学习笔记(8)----对象的扩展

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 对象的扩展 1.属性名的简洁表示法 : ES6允许在代码中直接写变量,变量名是属性名,变量值是属 ...

随机推荐

  1. 解决Pycharm无法导入包问题 Unresolved reference

    在pycharm中设置source路径 file–>setting–>project:server–>project structure 将放package的文件夹设置为source ...

  2. Tomasulo algorithm

    https://en.wikipedia.org/wiki/Tomasulo_algorithm#Applications_and_legacy 1,  what is Tomasulo algori ...

  3. Vue-element 的 resetFields of undefined报错

    触发场景:添加表单弹框,当我信息保存成功后会报 [Vue warn]: Error in event handler for "click": "TypeError: C ...

  4. 信息安全-浏览器-CORS:CORS(跨域资源共享)

    ylbtech-信息安全-浏览器-CORS:CORS(跨域资源共享) 1.返回顶部 1. CORS,全称Cross-Origin Resource Sharing,是一种允许当前域(domain)的资 ...

  5. SpringBoot学习笔记(五):SpringBoot集成lombok工具、SpringBoot集成Shiro安全框架

    SpringBoot集成lombok工具 什么是lombok? 自动生成setget方法,构造函数,打印日志 官网:http://projectlombok.org/features/index. 平 ...

  6. 密码学笔记(4)——RSA的其他攻击

    上一篇详细分析了几种分解因子的算法,这是攻击RSA密码最为明显的算法,这一篇中我们考虑是否有不用分解模数n就可以解密RSA的密文的方法,这是因为前面也提到,当n比较大的时候进行分解成素数的乘积是非常困 ...

  7. Data too long for column

    一篇文章的正文,需要很多字数,默认就是255,不够 @Lob @Basic @Type(type = "text") @Column(name = "detail&quo ...

  8. eval(str)函数

    转载:地址于http://blog.csdn.net/SeeTheWorld518/article/details/47983511 eval(str)函数很强大,官方解释为:将字符串str当成有效的 ...

  9. C#控件的闪烁问题解决方法总结

    最近对代码作了一些优化,试验后效果还可以,但是发现界面会闪烁,具体是TreeView控件会闪烁,语言为C#,IDE为VS2005.在查阅一些资料,使用了一些基本技术后(如开启双缓冲),发现没什么效果. ...

  10. .net core 使用swagger生成API文档

    [1]安装Swashbuckle.AspNetCore包 [2]在Startup.cs中注册swagger //注册Swagger生成器,定义一个和多个Swagger 文档 services.AddS ...