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_字符串扩展—模板字符串的更多相关文章

  1. ES6学习----let、const、解构赋值、新增字符串、模板字符串、Symbol类型、Proxy、Set

    这篇es6的学习笔记来自于表哥 表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 ES6就是JS6,JS的第 ...

  2. ES6扩展——模板字符串

    ${ } 模板字符串占位符 需要用反引号` ` 1.模板字符串 `${变量}` const xiaoming = { name:'xiaoming', age:14, say1:function(){ ...

  3. es6新语法系列,查找字符串,模板字符串

    一.模板字符串: ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...

  4. 2、ES6结构赋值和模板字符串

    ES6允许按照一定的模式,从数组和对象中提取值,这被称为结构,即解开数据的结构 1.数组的解构赋值 let [a,b] = [1,2] let [a,b,c=100] = [1,2] //c的默认值为 ...

  5. ES6新特性之模板字符串

    ES6新特性概览  http://www.cnblogs.com/Wayou/p/es6_new_features.html 深入浅出ES6(四):模板字符串   http://www.infoq.c ...

  6. es6的新特性--模板字符串

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

  7. ES6 - 基础学习(4): 模板字符串和字符串新增方法

    模板字符串 模板字符串:我理解为将字符串格式化.模板化,将字符串加强处理,此处的模板有动词的意思. 字符串模板基本格式: `xxxxxx`(前后都用反引号[tab键上面按键]引起来).除了作为普通字符 ...

  8. ES6-字符串的扩展-模板字符串

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. javascript - 将字符串转换为模板字符串

    参考: https://www.itranslater.com/qa/details/2325714161562551296 是否可以将模板字符串创建为常用字符串 let a="b:${b} ...

随机推荐

  1. 【Oracle 11gR2】静默安装 db_install.rsp文件详解

    #################################################################### ## Copyright(c) Oracle Corporat ...

  2. Mysql与SQLserver区别

    1.为空 SQLserver用isnull Myserver用ifnull 2.全球唯一标识符 SQLserver用newid() Myserver用uuid() 3.以分隔符拼接字符串 concat ...

  3. Windows 10 安装 Mongod

    因为新换了Windows 10 电脑,需要在新电脑重新安装所有的软件,包括mongodb 下载文件:首先在mongodb的官方网站上下载最新版本的mongodb安装程序,https://www.mon ...

  4. Hibernate(十四)抓取策略

    抓取策略: 抓取策略是当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略.Hibernate的抓取策略是Hibernate提升性能的一 ...

  5. What does operator “dot” (.) mean?

    Question: Given the code : A = [1 2 3; 3 2 1] B = A.^2 The output : B = 1 4 9 9 4 1 But if I do this ...

  6. react学习(四)之设置 css样式 篇

    react中设置css样式 方法一: 行内样式:使用{{  }},与正常jsx中插入js代码不一样,这里需要两个括号. <div style={ { float: 'right',} }> ...

  7. EF中更新操作 ID自增但不是主键 ;根据ViewModel更新实体的部分属性

    //ID自增但不是主键的情况 public int Update_join<TEntity>(TEntity entity) where TEntity : class { dbconte ...

  8. Git命令使用小结

    一.上传你的代码的基本方式 0.在github网站上登录你的账户cynthiawupore,然后新建一个仓库demo 1.初始化 $ git init 2.添加文件夹下所有文件到仓库 $ git ad ...

  9. 微信小程序-查询快递

    1.新建快速启动项目 2.在设置里面勾选不校验合法域名,以防编译报错 3.在app.json中改一下窗口表现:app.json—"navigationBarTitleText": ...

  10. JS中的柯里化(currying)

    何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字命名). 柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参 ...