ES5-ES6-ES7_字符串扩展—模板字符串
includes(), startsWith(), endsWith()
传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法
includes(str) : 判断是否包含指定的字符串
let str = 'huangjianfeng'
console.log(str.includes('feng')) // true
console.log(str.includes('feg')) // false
startsWith(str) : 判断是否以指定字符串开头
let str = 'huangjianfeng'
console.log(str.startsWith('huang')) // true
endsWith(str) : 判断是否以指定字符串结尾
let str = 'huangjianfeng'
console.log(str.endsWith('feng')) // true
var s = 'Hello world!';
// 这三个方法都支持第二个参数,表示开始搜索的位置
// 使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,
// 而其他两个方法针对从第n个位置直到字符串结束
console.log(s.startsWith('world', 6)); // true
console.log(s.endsWith('Hello', 5)); // true
console.log(s.includes('Hello', 6)); // false
repeat(count) : 重复指定次数
repeat方法返回一个新字符串,表示将原字符串重复n次
let str1 = 'a';
let str2 = 'hello';
console.log(str1.repeat(3)); //aaa
console.log(str2.repeat(2)); //hellohello
console.log(str2.repeat(0)); //结果什么都没有
console.log(str2.repeat(2.8)); //结果是:hellohello,参数如果是小数,会被取整
// 如果repeat的参数是负数或者Infinity,会报错
// console.log(str2.repeat(-2)); //RangeError: Invalid count value
// console.log(str2.repeat(Infinity)); //RangeError: Invalid count value
// 如果参数是0到-1之间的小数,则等同于0,这是因为会先进行取整运算。
// 0到-1之间的小数,取整以后等于-0,repeat视同为0。
// 参数NaN等同于0
console.log(str2.repeat(0.8));
console.log(str2.repeat(-0.8));
console.log(str2.repeat(NaN));
//如果repeat的参数是字符串,则会先转换成数字
console.log(str2.repeat('b')); //"" ,字符b不能转换成数字,Number('b')结果是NaN
console.log(str2.repeat('3')); //hellohellohello
console.log(Number('b'))
模板字符串
简化字符串的拼接——模板字符串必须用 `` 包含,变化的部分使用${xxx}定义
let obj = {user: 'huang', age: 34}
console.log(`我的名字叫做${obj.user},我的年龄是:${obj.age}`) // 我的名字叫做huang,我的年龄是:34
ES5-ES6-ES7_字符串扩展—模板字符串的更多相关文章
- ES6学习----let、const、解构赋值、新增字符串、模板字符串、Symbol类型、Proxy、Set
这篇es6的学习笔记来自于表哥 表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 ES6就是JS6,JS的第 ...
- ES6扩展——模板字符串
${ } 模板字符串占位符 需要用反引号` ` 1.模板字符串 `${变量}` const xiaoming = { name:'xiaoming', age:14, say1:function(){ ...
- es6新语法系列,查找字符串,模板字符串
一.模板字符串: ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...
- 2、ES6结构赋值和模板字符串
ES6允许按照一定的模式,从数组和对象中提取值,这被称为结构,即解开数据的结构 1.数组的解构赋值 let [a,b] = [1,2] let [a,b,c=100] = [1,2] //c的默认值为 ...
- ES6新特性之模板字符串
ES6新特性概览 http://www.cnblogs.com/Wayou/p/es6_new_features.html 深入浅出ES6(四):模板字符串 http://www.infoq.c ...
- es6的新特性--模板字符串
这几天简单看了一下深入浅出es6这本书,感觉特实用,学习了一个新特性---模板字符串在项目开发中,拼接字符串是不可缺少的,动态创建dom元素以及js操作数据都要拼接字符串,在es6出来之前,我们都通常 ...
- ES6 - 基础学习(4): 模板字符串和字符串新增方法
模板字符串 模板字符串:我理解为将字符串格式化.模板化,将字符串加强处理,此处的模板有动词的意思. 字符串模板基本格式: `xxxxxx`(前后都用反引号[tab键上面按键]引起来).除了作为普通字符 ...
- ES6-字符串的扩展-模板字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- javascript - 将字符串转换为模板字符串
参考: https://www.itranslater.com/qa/details/2325714161562551296 是否可以将模板字符串创建为常用字符串 let a="b:${b} ...
随机推荐
- java时间类Date、Calendar及用法
对于时间类,这篇主要说明各种现实情况下如何取值,怎么定向取值,得到自己想要的时间参数.在java中时间类主要有Date.Calendar,暂时只介绍 java.util.*下的时间类,对于java.s ...
- 【Java每日一题】20170317
20170316问题解析请点击今日问题下方的“[Java每日一题]20170317”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...
- Java学习笔记之——多态、抽象
1. 多态 多态:同一种事物调用同一个方法有不同的表现行为.(同一类型操作,作用于某一类对象,可以有不同的解释,产生不同的执行结果) 应用场景;当你定义一个功能性的方法可以使用多态的概念 前提:子类继 ...
- Java学习笔记之——this关键字、非静态成员属性和静态成员属性的区别、类的加载顺序
一.this关键字 1.代表当前类的对象 2.通过” . ”调用成员属性和成员方法 3.通过this可以区分成员属性和参数 参数名和属性名相同的情况,默认是参数名 二.非静态成员属性和静态成员属性的区 ...
- Cheating sheet for vim
- CSS基础知识思维导图xmind
这是我根据自己的学习笔记整理的思维导图,WEB前端的知识很多,汇总来看会比较清晰.
- Linux禁止ping以及开启ping的方法
---恢复内容开始--- Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法P ...
- Vue2 几种常见开局方式
在SF问题中看到了一个关于vue-cli中的template问题,问题是这样的:用vue-cli工具生成的main.js中: import Vue from 'vue' import App from ...
- 2018-11-16 中文代码示例之Programming in Scala笔记第四五六章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_ ...
- Linux 安装 lrzsz,使用 rz、sz 上传下载文件
yum install -y lrzsz 上传文件到服务器 rz 命令后会出现一个文件选择框,选择.确定即可 从服务器下载文件 sz 文件名即可