字符串在编程语言中,一直是使用率很高的数据,虽说函数在js语言中是一等公民,但是字符串,怎么也能算得上是千年老二,下面我就一起和大家探讨一下在es6中的一些新用法和特性,特别是在字符串拼接的时候,会解放作为程序员的眼睛和双手。大家也可以关注我的微信公众号,蜗牛全栈。

一、模板字符串:用`替换传统的单引号或双引号
1、传统字符串拼接

const str = "asasasas\n"
+"sasasasasa\n"
+"rrgtrgtegergre"
console.log(str) // 这个时候输出的是换行的字符串

2、es6中字符串拼接

const str = `asasasas
sasasasasa
rrgtrgtegergre
`
console.log(str) // 输出的和上一段完全相同效果的字符串

3、传统字符串中的运算并拼接

const a = 20
const b = 14
const c = "es"
const str = "我的年龄是:"+(a+b)+",我在讲"+c
console.log(str) // 我的年龄是34,我在将es

4、es6字符串中的运算并拼接:在使用`的基础上,通过$和{}包裹变量。PS:这个语法在小编重构项目的时候,不知道省了多少眼药水,真是大大的福利呀。

const a = 20
const b = 14
const c = "es"
const str5 = `我的年龄是${a+b},我在讲${c}`
console.log() // 我的年龄是34,我在将es

二、嵌套模板:主要针对标签中的动态class。小编之前在Vue项目中看到大量类似的实例,当时还不明白,现在才知道是个啥。
1、传统方式

const isLarge = () => {
return true
} let class1 = 'icon'
class1 += isLarge()?' icon-big':" icon-small"
console.log(class1) // 'icon icon-big'

2、es6新方式

const isLarge = () => {
return true
}
const class1 = `icon icon-${isLarge()?' icon-big':" icon-small"}`
console.log(class1) // 'icon icon-big'

三、带标签的模板字符串

const foo = (a,b,c,d) =>{
console.log(a)
console.log(b)
console.log(c)
console.log(d)
} foo(1,2,3,4) // 1 2 3 4 const name = "lilei"
const age = 34
foo`这是${name},他的年龄是${age}岁` // ["这是",",他的年龄是","岁"] lilei 34 undefind

四、includes:判断指定字符串是否在其他字符串内,存在返回true,不存在返回false

// indexOf 判断字符串中是否含有某个字符串,如果存在,返回该字符串对应的下标,不存在返回-1
const str = "1234"
console.log(str.indexOf("2")) // 1
const str = "1234"
console.log(str.includes("2")) // true

五、startWith:判断自定义字符串是否以指定字符串开始,返回布尔值

const str = "1234"
console.log(str.startsWith("12")) // true

六、endWith:判断自定字符串是否以指定字符串结束,返回布尔值

const str = "1234"
console.log(str.endtWith("12")) // false

七、repeat:重复指定字符串指定次数,返回新字符串

const str = "1234"
const newStr = str.repeat(3)
console.log(newStr) // 123412341234

ES6中的字符串的更多相关文章

  1. ES6中 对字符串增强

    在曾经,我们只能用A.indexof(B)来判断A中是否含有B字符串: 现在在ES6中 有了: includes(), startswith(),endswith() reapt()重复次数: 输出 ...

  2. ES6中对字符串处理的优点

    目录 1.字符的Unicode表示法 2.字符串的遍历接口 3.直接输入 U+2028 和 U+2029(分行符 和 分段符) 4.JSON.stringify() 的改造 1.字符的Unicode表 ...

  3. ES6中新增字符串方法,字符串模板

    多了两个新方法 startsWith endsWith 返回的是一个Boolean值 let str='git://www.baidu.com/2123123'; if(str.startsWith( ...

  4. ES6中的模板字符串和新XSS Payload

    ES6中的模板字符串和新XSS Payload 众所周知,在XSS的实战对抗中,由于防守方经常会采用各种各样严格的过滤手段来过滤输入,所以我们使用的XSS Payload也会根据实际情况作出各种各样的 ...

  5. ES6中字符串扩展

    ES6中字符串扩展 ① for...of 遍历字符串: 例如: for(let codePoint of 'string'){ console.log(codePoint) } 运行结果: ②  in ...

  6. ES6中字符串的扩展

    一.查找字符串 在ES5中,可以使用 indexOf 方法和 lastIndexOf 方法查找字符串: let str = 'hello world'; alert(str.indexOf('o')) ...

  7. es6中的模版字符串

    目录 字符串拼接 includes() startsWith() endsWith() padStart() es6中的模版字符串替代了原有的字符串拼接功能. 字符串拼接 es5方式 传统的字符串拼接 ...

  8. ES6中字符串的新增方法梳理

    1.String.fromCodePoint(); String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Un ...

  9. ES6之模版字符串

    ES6之模版字符串 最近在项目中使用了ES6的模版字符串,在这里加以总结. 1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: $("#result"). ...

随机推荐

  1. TortoiseGit生成.PPK拓展名的密钥

    在TortoiseGit 运行目录下找到puttygen.exe 工具 运行puttygen.exe genertate :代表动态生成新的内容 load :导入旧的密钥 save private k ...

  2. Zookeeper详细使用解析!分布式架构中的协调服务框架最佳选型实践

    Zookeeper概念 Zookeeper是分布式协调服务,用于管理大型主机,在分布式环境中协调和管理服务是很复杂的过程,Zookeeper通过简单的架构和API解决了这个问题 Zookeeper实现 ...

  3. Educational Codeforces Round 105 (Rated for Div. 2)

    A. ABC String 题目:就是用'('和')'来代替A,B,C并与之对应,问是不是存在这样的对应关系使得'('和')'正好匹配 思路:第一个和最后一个字母是确定的左括号或者是右括号,这样就还剩 ...

  4. Python自动扫描出微信不是好友名单

    前言 最近找几个老友准备聊天发现几个已经被删除好友名单,做为潜水党多年的我已经不知道成为多少人的黑名单,但是好友列表却依然有不是好友的名单,面对庞大的好友数量想要清除谈何容易.虽然可以发消息给所有人, ...

  5. BUAA软件工程_结对编程

    1.写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 结对项目作业 课程目标 培养软件开发能力 本作业对实现目标的具体作用 培养结对编程开发项目的能力 ...

  6. python 键盘中断子线程及graceful exiting方案

    最近需要实现一个服务程序的graceful exiting,保证在退出前关闭所有已创建的子线程 python借助KeyboardInterrupted异常响应键盘中断,因此首先尝试在子线程中try-c ...

  7. [bug] jupyter notebook:服务在阿里云上启动,本地浏览器无法访问

    问题 在阿里云上装了个jupyter,服务正常启动了,但网页上无法访问 排查 安全组已经设置过了,7777端口 在宝塔面板查看,发现7777端口并没有开,打开就可以访问了 原来阿里云的安全组和防火墙是 ...

  8. [Python] 安装 & 常用命令

    安装 http://www.xue51.com/soft/2301.html 常用命令 #查看pip版本$ pip --version#安装pip$ sudo apt install python3- ...

  9. BRAM 和 DRAM 区别

    转载: BRAM和DRAM的区别 Xilinx的FPGA开发板可以直接调用RAM,其中包括了BRAM和DRAM.经过网上查找资料发现,这两者的区别在于: 选择distributed memory ge ...

  10. echo -n -e "请输入重启间隔的时间(分钟):\t"

    echo -n -e "请输入重启间隔的时间(分钟):\t"read interval##echo -n "Your choice is " # 加上 -n 可 ...