字符串的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. iOS开发系列-NSURLConnection

    概述 NSURLConnection是负责发送请求,建立客户端与服务端的连接.发送数据给服务器,并收集来自服务器的响应数据.其中NSURLRequest类是用来封装一个请求,包含NSURL对象.请求方 ...

  2. 2018-8-10-win10-uwp-使用资源在后台创建控件

    title author date CreateTime categories win10 uwp 使用资源在后台创建控件 lindexi 2018-08-10 19:17:19 +0800 2018 ...

  3. 【左偏树】[APIO2012]派遣

    题意可真的是有毒 第一眼树形背包可做?(反正我没用树形背包打过,边上巨佬打的背包似乎没拿分) 后来发现可以贪心搞,我们先把一个节点所有的儿子都取进去,之后不行的话再从大的开始拿走就好了 问题就变成了了 ...

  4. Java虚拟机笔记

    Java内存区域划分 1.程序计数器 线程私有,当前线程执行的行号指示器,指向当前线程执行的虚拟机字节码地址,线程的恢复,跳转等都需要用到它 2.Java虚拟机栈 线程私有,虚拟机栈描述的是Java内 ...

  5. postgresql数据库学习-win平台下SQLshell基础操作及语法

    由于在学习https://www.bilibili.com/video/av24590479小马视频时, up主采用的linux虚拟机进行教学, 而本人采用window7进行操作,故在基础操作和语法上 ...

  6. Django如何自定义漂亮的404页面

    目录 在templates 中添加404.html 修改settings.py 在templates 中添加404.html <!DOCTYPE html PUBLIC "-//W3C ...

  7. 标准方程法_岭回归_LASSO算法_弹性网

    程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8 ...

  8. resful风格

    package com.atguigu.springboot.controller; import com.atguigu.springboot.dao.DepartmentDao; import c ...

  9. 菜鸟nginx源码剖析数据结构篇(三) 单向链表 ngx_list_t[转]

    菜鸟nginx源码剖析数据结构篇(三) 单向链表 ngx_list_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csd ...

  10. nginx部署为HTTP代理支持CONNECT模式

    有个软件要走http代理,想着部署nginx起来用,结果发现用不了: 而用ccproxy的话,一切正常: 抓包分析了下,是CONNECT模式的请求 从nginx的官网http://nginx.org/ ...