ES6字符串的新增方法

写在前面

在ES6中,JavaScript的字符串对象得到了许多有用的新方法。这些方法使得字符串操作更加方便和强大。以下是这些新方法的详细介绍和示例。

String.fromCodePoint()

String.fromCodePoint() 方法可以将一个或多个 Unicode 码点转换为字符串。例如:

console.log(String.fromCodePoint(0x1F600)); // "😀"
console.log(String.fromCodePoint(0x1F600, 0x1F64C)); // "😀🙌"
String.raw()

String.raw() 方法可以创建一个原始字符串,忽略所有的转义字符。例如:

const template = String.raw`Hello, ${name}!`;
console.log(template); // "Hello, ${name}!"
实例方法:codePointAt()

codePointAt() 方法返回指定索引处的 Unicode 码点。例如:

const str = "Hello";
console.log(str.codePointAt(0)); // 72
console.log(str.codePointAt(1)); // 101
实例方法:normalize()

normalize() 方法可以将字符串转换为 Unicode 规范化形式。例如:

const str = "café";
console.log(str.normalize("NFC")); // "café"
console.log(str.normalize("NFD")); // "café"
实例方法:includes(), startsWith(), endsWith()

这三个方法用于检查字符串中是否包含指定的子字符串。例如:

const str = "Hello, world!";
console.log(str.includes("world")); // true
console.log(str.startsWith("Hello")); // true
console.log(str.endsWith("world!")); // true
实例方法:repeat()

repeat() 方法可以将字符串重复指定的次数。例如:

const str = "Hello";
console.log(str.repeat(3)); // "HelloHelloHello"
实例方法:padStart(),padEnd()

这两个方法可以在字符串的开头或结尾添加指定的填充字符,直到达到指定的长度。例如:

const str = "Hello";
console.log(str.padStart(10, " ")); // "     Hello"
console.log(str.padEnd(10, " ")); // "Hello     "
实例方法:trimStart(),trimEnd()

这两个方法可以从字符串的开头或结尾删除空格。例如:

const str = "   Hello, world!   ";
console.log(str.trimStart()); // "Hello, world!   "
console.log(str.trimEnd()); // "   Hello, world!"
实例方法:matchAll()

matchAll() 方法可以返回一个迭代器,用于遍历字符串中所有匹配的正则表达式。例如:

const str = "The quick brown fox jumps over the lazy dog.";
const regex = /the/gi;
const matches = str.matchAll(regex);
for (const match of matches) {
  console.log(match);
}
// Output: ["The", "the"]
实例方法:replaceAll()

replaceAll() 方法可以用来替换字符串中所有匹配的子字符串。例如:

const str = "The quick brown fox jumps over the lazy dog.";
console.log(str.replaceAll("the", "a")); // "a quick brown fox jumps over a lazy dog."
实例方法:at()

at() 方法可以用来获取字符串中指定索引处的字符。例如:

const str = "Hello";
console.log(str.at(0)); // "H"
console.log(str.at(1)); // "e"
实例方法:toWellFormed()

toWellFormed() 方法可以用来将一个可能包含不合法 Unicode 序列的字符串转换为一个合法的 Unicode 字符串。例如:

const str = "\u{D800}\u{DC00}"; // 不合法的 Unicode 序列
console.log(str.toWellFormed()); // "

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/918119.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

文件 fd

🏷️ 预备工作 ❓ 当我们在系统中创建一个空文件时,这个文件要不要占据磁盘的空间(注意是空文件哟) 答案:当然是要占据磁盘的空间的,文件不仅只包括内容,还有它的属性呀,就是创建时…

树的直径计算:算法详解与实现

树的直径计算:算法详解与实现 1. 引言2. 算法概述3. 伪代码实现4. C语言实现5. 算法分析6. 结论在图论中,树的直径是一个关键概念,它表示树中任意两点间最长路径的长度。对于给定的树T=(V,E),其中V是顶点集,E是边集,树的直径定义为所有顶点对(u,v)之间最短路径的最大值。…

RHCSA学习超详细知识点2命令篇

输入命令行的语法 终端中执行命令需要遵照一定的语法,输入命令的格式如下: 命令 参数命令 -选项 参数 输入命令时可以包含多个选项,假如一个命令有-a,-b,-c,-d四个选项,可以写作 命令 -a -b -c -d 参数 这里的多个选项可以“提…

3步实现贪吃蛇

方法很简单,打开页面,复制,粘贴 一.整体思维架构 我们根据游戏的开始,运行,结束,将整个游戏划分成三个部分。在每个部分下面又划分出多个功能,接下来我们就根据模块一一实现功能。 二.Gamesta…

风电电力系统低碳调度论文阅读第一期

在碳交易市场中,历史法和基准线法是用于分配碳排放配额的两种主要方法。以下是两种方法的公式及其解释: 区别总结 历史法:基于历史排放量,分配具有较强的公平性但可能缺乏激励减排。基准线法:基于行业基准和生产量&am…

Mybatis-Plus 多租户插件属性自动赋值

文章目录 1、Mybatis-Plus 多租户插件1.1、属性介绍1.2、使用多租户插件mavenymlThreadLocalUtil实现 定义,注入租户处理器插件测试domianservice & ServiceImplmapper 测试mapper.xml 方式 1.3、不使用多租户插件 2、实体对象的属性自动赋值使用1. 定义实体类2. 实现 Meta…

CSS基础知识05(弹性盒子、布局详解,动画,3D转换,calc)

目录 0、弹性盒子、布局 0.1.弹性盒子的基本概念 0.2.弹性盒子的主轴和交叉轴 0.3.弹性盒子的属性 flex-direction row row-reverse column column-reverse flex-wrap nowrap wrap wrap-reverse flex-dirction和flex-wrap的组合简写模式 justify-content flex-s…

使用Web Animations API实现复杂的网页动画效果

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Web Animations API实现复杂的网页动画效果 使用Web Animations API实现复杂的网页动画效果 使用Web Animations API实现复杂…

Matlab多输入单输出之倾斜手写数字识别

本本主要介绍使用matlab构建多输入单输出的网络架构,来实现倾斜的手写数字识别,使用concatenationLayer来拼接特征,实现网络输入多个特征。 1.加载训练数据 加载数据:手写数字的图像、真实数字标签和数字顺时针旋转的角度。 lo…

pytest结合allure做接口自动化

这是一个采用pytest框架,结合allure完成接口自动化测试的项目,最后采用allure生成直观美观的测试报告,由于添加了allure的特性,使得测试报告覆盖的内容更全面和阅读起来更方便。 1. 使用pytest构建测试框架,首先配置好…

【无人机设计与控制】基于MATLAB的四旋翼无人机PID双闭环控制研究

摘要 本文基于MATLAB/Simulink环境,对四旋翼无人机进行了PID双闭环控制设计与仿真研究。通过分析四旋翼无人机的动力学模型与运动学模型,建立了姿态和位置双闭环控制系统,以实现无人机的稳定飞行与精确轨迹跟踪。仿真实验验证了该控制策略的…

强大的正则表达式——Easy

进入题目界面输入难度1后,让我们输入正则表达式(regex): 目前不清楚题目要求,先去下载附件查看情况: import re import random# pip install libscrc import libscrcallowed_chars "0123456789()|*&q…

pytest | 框架的简单使用

这里写目录标题 单个文件测试方法执行测试套件的子集测试名称的子字符串根据应用的标记进行选择 其他常见的测试命令 pytest框架的使用示例 pytest将运行当前目录及其子目录中test_*.py或 *_test.py 形式的所有 文件 文件内的函数名称可以test* 或者test_* 开头 单个文件测试…

【安卓恶意软件检测-论文】DroidEvoler:自我进化的 Android 恶意软件检测系统

DroidEvolver:自我进化的 Android 恶意软件检测系统 摘要 鉴于Android框架的频繁变化和Android恶意软件的不断演变,随着时间的推移以有效且可扩展的方式检测恶意软件具有挑战性。为了应对这一挑战,我们提出了DroidEvolver,这是一…

Vulnhub靶场 Billu_b0x 练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 文件包含2. SQL注入3. 文件上传4. 反弹shell5. 提权(思路1:ssh)6. 提权(思路2:内核)7. 补充 0x04 总结 0x00 准备 下载链接&#…

LabVIEW弧焊参数测控系统

在现代制造业中,焊接技术作为关键的生产工艺之一,其质量直接影响到最终产品的性能与稳定性。焊接过程中,电流、电压等焊接参数的精确控制是保证焊接质量的核心。基于LabVIEW开发的弧焊参数测控系统,通过实时监控和控制焊接过程中关…

CentOS网络配置

上一篇文章:VMware Workstation安装Centos系统 在CentOS系统中进行网络配置是确保系统能够顺畅接入网络的重要步骤。本文将详细介绍如何配置静态IP地址、网关、DNS等关键网络参数,以帮助需要的人快速掌握CentOS网络配置的基本方法和技巧。通过遵循本文的…

低速接口项目之串口Uart开发(一)——串口UART

本节目录 一、串口UART 二、串口协议 三、串口硬件 四、往期文章链接本节内容 一、串口UART 串口UART,通用异步收发传输器(Universal Asynchronnous Receiver / Transmitter),一种异步收发传输器,全双工传输。数据发送时,将并行…

Uni-APP+Vue3+鸿蒙 开发菜鸟流程

参考文档 文档中心 运行和发行 | uni-app官网 AppGallery Connect DCloud开发者中心 环境要求 Vue3jdk 17 Java Downloads | Oracle 中国 【鸿蒙开发工具内置jdk17,本地不使用17会报jdk版本不一致问题】 开发工具 HBuilderDevEco Studio【目前只下载这一个就…

SQL 外连接

1 外连接 外连接是一种用于结合两个或多个表的方式,返回至少一个表中的所有记录。 左外连接 LEFT JOIN,左表为驱动表,右表为从表。返回驱动表的所有记录以及从表中的匹配记录。如果从表没有匹配,则结果中从表的部分为NULL。 右…