ES6新增的字符串API

栏目: JavaScript · 发布时间: 6年前

includes() 返回布尔值,表示是否找到了参数字符串

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,表示从第n个位置开始直到字符串结束
let str = "Hello world!";
console.log(str.includes("o")); // true
console.log(str.includes("w")); // true
console.log(str.includes("w", 7)); // false
复制代码

startsWith() 返回布尔值,表示参数字符串是否在原字符串的头部

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,表示从第n个位置开始直到字符串结束
let str = "Hello world!";
console.log(str.startsWith("Hello")); // true
console.log(str.startsWith("world")); // false
console.log(str.startsWith("world", 6)); // true
复制代码

endsWith() 返回布尔值,表示参数字符串是否在原字符串的尾部。

  • 支持第二个参数,表示开始搜索的位置
  • 使用第二个参数n时,它针对前n个字符
let str = "Hello world!";
console.log(str.endsWith("Hello")); // false
console.log(str.endsWith("!")); // true
console.log(str.endsWith(" ", 6)); // true
复制代码

repeat() 方法返回一个新字符串,表示将原字符串重复n次

  • 参数是小数,会被向下取整
  • 参数如果是 Infinity 或者是 负数,会报错
  • 0到-1之间的数等同于0,NaN也等同于 0
  • 参数是字符串,则会先转换成数字
console.log("x".repeat(3)); // xxx
console.log("hello".repeat(2)); // hellohello
console.log("na".repeat(0)); // ''
// 参数是小数,会被向下取整
console.log("na".repeat(2.9)); // nana
// 参数如果是 Infinity 或者是 负数,会报错
// console.log("na".repeat(Infinity)); // 报错
// console.log("na".repeat(-1)); // 报错
// 0到-1之间的数,NaN,等同于 0
console.log("na".repeat(-0.9)); // ''
console.log("na".repeat(NaN)); // ''
// 参数是字符串,则会先转换成数字
console.log("na".repeat("na")); // ''
console.log("na".repeat("3")); // nanana
复制代码

padStart() 字符串补全长度的功能,用于头部补全

  • 前提:如果某个字符串不够指定长度,会在头部补全
  • 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
  • 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
  • 如果省略第二个参数,默认使用空格补全长度
console.log("x".padStart(5, "ab")); // ababx
console.log("x".padStart(4, "ab")); // abax
// 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
console.log("xxx".padStart(2, "ab")); // xxx
// 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。
console.log("abc".padStart(10, "0123456789")); // 0123456abc
// 如果省略第二个参数,默认使用空格补全长度。
console.log("x".padStart(4)); // '   x'

// 常见用途:
// 为数值补全指定位数
console.log("1".padStart(10, "0")); // 0000000001
console.log("12".padStart(10, "0")); // 0000000012
console.log("123456".padStart(10, "0")); // 0000123456
// 提示字符串格式
console.log("12".padStart(10, "YYYY-MM-DD")); // YYYY-MM-12
console.log("09-12".padStart(10, "YYYY-MM-DD")); // YYYY-09-12
复制代码

padEnd() 字符串补全长度的功能,用于尾部补全

  • 前提:如果某个字符串不够指定长度,会在尾部补全
  • 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
  • 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
  • 如果省略第二个参数,默认使用空格补全长度
console.log("x".padEnd(5, "ab")); // xabab
console.log("x".padEnd(4, "ab")); // xaba
// 如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
console.log("xxx".padEnd(2, "ab")); // xxx
// 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串。
console.log("abc".padEnd(10, "0123456789")); // abc0123456
// 如果省略第二个参数,默认使用空格补全长度。
console.log("x".padEnd(4)); // 'x   '
复制代码

trimStart() 消除字符串头部的空格,返回的是新字符串,不会修改原始字符串

  • trimLeft()trimStart() 的别名
let str = ' abc ';
console.log(str.trimStart());  // 'abc '
console.log(str.trimLeft());   // 'abc '
复制代码

trimEnd() 消除字符串头部的空格,返回的是新字符串,不会修改原始字符串

  • trimRight()trimEnd() 的别名
let str = ' abc ';
console.log(str.trimEnd());    // ' abc'
console.log(str.trimRight());  // ' abc'
复制代码

matchAll() 返回一个正则表达式在当前字符串的所有匹配,


以上所述就是小编给大家介绍的《ES6新增的字符串API》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Rails Cookbook

Rails Cookbook

奥西尼 / 江苏东南大学 / 2007-6 / 68.00元

Rails是业界领先的新一代Web 2.0应用程序开发框架,而这本《Rails Cookbook》里充满了为了让你成为Rails开发专家而准备的各种解决方案。讨论范围覆盖了从基本概念,如安装Rails及设置开发环境,到最新的各种技巧,如开发符合REST协议规范的Web服务等。 Rails可提供更轻量级的代码、更丰富的功能和更快捷的量身定制过程,由此带来了一场Web开发革命。《Rails Co......一起来看看 《Rails Cookbook》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具