ES6中的字符串
字符串在编程语言中,一直是使用率很高的数据,虽说函数在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中的字符串的更多相关文章
- ES6中 对字符串增强
在曾经,我们只能用A.indexof(B)来判断A中是否含有B字符串: 现在在ES6中 有了: includes(), startswith(),endswith() reapt()重复次数: 输出 ...
- ES6中对字符串处理的优点
目录 1.字符的Unicode表示法 2.字符串的遍历接口 3.直接输入 U+2028 和 U+2029(分行符 和 分段符) 4.JSON.stringify() 的改造 1.字符的Unicode表 ...
- ES6中新增字符串方法,字符串模板
多了两个新方法 startsWith endsWith 返回的是一个Boolean值 let str='git://www.baidu.com/2123123'; if(str.startsWith( ...
- ES6中的模板字符串和新XSS Payload
ES6中的模板字符串和新XSS Payload 众所周知,在XSS的实战对抗中,由于防守方经常会采用各种各样严格的过滤手段来过滤输入,所以我们使用的XSS Payload也会根据实际情况作出各种各样的 ...
- ES6中字符串扩展
ES6中字符串扩展 ① for...of 遍历字符串: 例如: for(let codePoint of 'string'){ console.log(codePoint) } 运行结果: ② in ...
- ES6中字符串的扩展
一.查找字符串 在ES5中,可以使用 indexOf 方法和 lastIndexOf 方法查找字符串: let str = 'hello world'; alert(str.indexOf('o')) ...
- es6中的模版字符串
目录 字符串拼接 includes() startsWith() endsWith() padStart() es6中的模版字符串替代了原有的字符串拼接功能. 字符串拼接 es5方式 传统的字符串拼接 ...
- ES6中字符串的新增方法梳理
1.String.fromCodePoint(); String,fromCodePoint()方法可以认为是对String.fromCharCode()方法的扩展,这两个方法的共同点在于都是用于Un ...
- ES6之模版字符串
ES6之模版字符串 最近在项目中使用了ES6的模版字符串,在这里加以总结. 1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: $("#result"). ...
随机推荐
- 关于HTTP的一些概念
各种概念 HTTP HTTP(HyperText Transfer Protocol) -- 超文本传输协议 它可以拆成三个部分:"超文本"."传输".&quo ...
- github图文入门教程
目录 1.注册,安装git 2.初始化git 3.git本地仓库结构 4.初始化第一个git仓库 5.远程仓库的修改 6.总结 1.注册,安装git ①.注册一个github账号 并建立一个仓库 ②. ...
- PE文件中的输入表
前言 PE文件中的输入表含有三个重要结构IID,IDT,IAT.PE文件为需要加载的DLL文件创建一个IID结构,一个DLL与一个IID对应.IDT是输入名称表,IAT输入地址表,在没有绑定输入的情况 ...
- Java7中Switch为什么只支持byte、short、char、int、String
Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进.到目前为止switch支持这样几种数据类型:byte short int char String .但是,作 ...
- ZOHO的下一个25年:用心为企业服务
来源:中国软件网 作者:海策 在25周年会上,ZOHO大中华区总裁侯康宁先生豪情壮志,"25岁的ZOHO,已经成长为非典型一线大厂." 1996年,ZOHO成立.截止2021年,Z ...
- Spring Boot读取自定义外部属性
测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String name; private St ...
- 与find不同,locate并不是实时查找。你需要更新数据库,以获得最新的文件索引信息。updatedb
find是实时查找,如果需要更快的查询,可试试locate:locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库: $locate string 寻找包含有stri ...
- 诸神之眼 - Nmap 教程
*注: www.heihei.work 为本人测试网站,可由 官方测试网站 scanme.nmap.org代替. NO.11.扫描端口开放的服务nmap -T4 -A -v www.heiehi.wo ...
- 013.Kubernetes认证授权
一 Kubernetes认证系统介绍 1.1 访问控制 Kubernetes API的每个请求都会经过多阶段的访问控制之后才会被接受,这包括认证.授权以及准入控制(Admission Control) ...
- docker-ce 安装
配置源 确认版本 添加镜像加速器 https://docs.docker.com/engine/release-notes/19.03/ for centos wget -O /etc/yum.rep ...