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()); // "

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Mac终端使用brew命令报错:zsh: command not found: brew

当在终端中出现 zsh: command not found: brew 这个错误时,可能是因为 Homebrew 没有被正确安装,或者它的路径没有被添加到环境变量中。 1. 检查 Homebrew 是否已安装: 打开终端,运行以下命令来检查 Homebrew 是否已安装&#xf…

斯坦福iDP3——改进3D扩散策略以赋能人形机器人的训练:不再依赖相机校准和点云分割(含源码解析)

前言 今天10.23日,明天1024则将作为长沙程序员代表,在CSDN和长沙相关部门举办的1024程序员节开幕式上发言,欢迎广大开发者来长工作 生活 考察 创业,​包括我司七月也一直在招聘大模型与机器人开发人员 后天,则将和相关…

Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】

下面是项目级完整配置1➡eslint:【吐血分享,博主踩过的坑你跳过去!!跳不过去?太过分了给博主打钱】 浏览器自动打开项目: 你想释放双手吗?你想每天早上打开电脑运行完项目自动在浏览器打开吗?不要9998,不要998,只要你在我们爱的 package.json 中配置一下即可显示。如…

DataWorks on EMR StarRocks,打造标准湖仓新范式

在大数据领域,数据仓库和实时分析系统扮演着至关重要的角色。DataWorks 基于大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台,为用户带来智能化的数据开发和分析体验。而阿里云提供的 EMR Serverless St…

谷歌浏览器的实验性功能介绍

谷歌浏览器(Google Chrome)作为全球最受欢迎的网络浏览器之一,以其快速、稳定和丰富的扩展功能而闻名。除了常见的功能外,Chrome还提供了许多实验性功能,这些功能可以通过启用一些隐藏的标志来访问。本文将详细介绍如何…

Acrobat Pro DC 2023(pdf免费转化word)

所在位置 通过网盘分享的文件:Acrobat Pro DC 2023(64bit).tar 链接: https://pan.baidu.com/s/1_m8TT1rHTtp5YnU8F0QGXQ 提取码: 1234 --来自百度网盘超级会员v4的分享 安装流程 打开安装所在位置 进入安装程序 找到安装程序 进入后点击自定义安装,这里…

【论文复现】STM32设计的物联网智能鱼缸

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀STM32设计的物联网智能鱼缸 【1】项目功能介绍【2】设计需求总结【3】项目硬件模块组成 1.2 设计思路【1】整体设计思路【2】ESP8266工作模式…

Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!

作者:来自 Elastic Platform Product Team Elastic Search AI 平台(Elasticsearch、Kibana 和机器学习)的 8.16 版本包含大量新功能,可提高性能、优化工作流程和简化数据管理。 使用更好的二进制量化 (Better Binary Quantizatio…

ubuntu20.04安装FLIR灰点相机BFS-PGE-16S2C-CS的ROS驱动

一、Spinnaker 安装 1.1Spinnaker 下载 下载地址为: https://www.teledynevisionsolutions.com/support/support-center/software-firmware-downloads/iis/spinnaker-sdk-download/spinnaker-sdk–download-files/?pnSpinnakerSDK&vnSpinnakerSDK 在上述地址中…

OCR+多模态数据技术,赋能海洋数据智能处理

海洋是推动高质量发展的关键区域,也是人类未来发展的宝库。然而,我们对海洋生态系统的深入理解尚不足5%。海洋大数据,通过观测、监测、调查、分析和统计等手段获得,已成为我们探索海洋世界的主要工具。 如图1所示&#xff0…

JUC学习笔记

文章目录 锁生产者消费者问题8锁现象集合类不安全Callable创建线程的三种方式 常用辅助类CountDownLatchCyclibarrierSamphore 本篇博客是之前学习JUC时记录的内容,对于并发编程知识只是浅浅谈及,并不深入。也算是给自己开新坑。建一个JUC的专栏&#xf…

集合卡尔曼滤波(EnsembleKalmanFilter)的MATLAB例程(三维、二维)

本 M A T L A B MATLAB MATLAB代码实现了一个三维动态系统的集合卡尔曼滤波(Ensemble Kalman Filter, EnKF)示例。代码的主要目的是通过模拟真实状态和测量值,使用 EnKF 方法对动态系统状态进行估计。 文章目录 参数设置初始化真实状态定义状…

OpenGL ES 共享上下文实现多线程渲染

OpenGL ES 共享上下文时,可以共享哪些资源? 共享上下文实现多线程渲染 EGL 概念回顾 EGL 是 OpenGL ES 和本地窗口系统(Native Window System)之间的通信接口,它的主要作用: 与设备的原生窗口系统通信; 查询绘图表面的可用类型和配置; 创建绘图表面; 在OpenGL ES 和…

如何安装和使用SSH远程连接工具MobaXterm

文章目录 一、下载二、安装三、使用四、配置1、配置默认编辑器2、配置右键粘贴3、SSH配置4、关闭X-Server服务 一、下载 1、进入官网:https://mobaxterm.mobatek.net/download-home-edition.html 2、Download——>Home Edition。 3、下载绿色安装版本。 二、安…

Java项目实战II基于微信小程序的原创音乐小程序(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着移动互…

linux-文件的读写

操作系统一切皆文件,访问文件实际上就是访问硬件,因为文件都保存在硬件上,或者文件就是硬件,而要访问硬件,就需要操作系统提供的系统调用,所以c/c函数中关于访问硬件设备,基本上是由系统调用封装…

「实战应用」如何可视化 DHTMLX Scheduler 中的资源工作量?

DHTMLX Scheduler是一个全面的 UI 组件,用于处理面向业务的 Web 应用程序中复杂的调度和任务管理需求。但是,某些场景可能需要自定义解决方案。例如,如果项目的资源(即劳动力)有限,则需要确保以更高的精度分…

RNA-seq 差异分析的点点滴滴(2)

引言 本系列[1]将开展全新的转录组分析专栏,主要针对使用DESeq2时可能出现的问题和方法进行展开。 Tximeta:自动导入并附加元数据 Bioconductor 家族中的 tximeta 包,在 tximport 的基础上进行了扩展,不仅保留了原有功能&#xff…

Pycharm PyQt5 环境搭建创建第一个Hello程序

第一步: 创建Pycharm项目,下载包: pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/下载好了之后,可以看到相应包: PyQt5:PyQt5是一套Python绑定Digia QT5应用的框架。Qt库是最…

安装luasocket模块时提示“sudo: luarocks:找不到命令“问题,该如何解决?

大家好,我是袁庭新。分享一个我在使用luarocks来安装luarocks模块报错的解决方法。 在Unix系统中安装LuaRocks。本文我以CentOS 7.x系统为例,来讲解如何安装LuaRocks。 $ cd /opt $ wget https://luarocks.org/releases/luarocks-3.11.1.tar.gz $ tar …