《ECMAScript 6 入门》【三、字符串的扩展】(持续更新中……)
前言:
本篇介绍 ES6 对字符串的改造和增强。
一、字符的 Unicode 表示法
字符的 Unicode 码点必须在\u0000~\uFFFF之间,\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。
const {log} = console;
log(’\u0061’); //a
xxxx超出这个范围的字符,只要将码点放入{}内,就能正确解读该字符。
const {log} = console;
log(’\u{20BB6}’); //
二、字符串的遍历器接口
字符串添加了遍历器接口,使得字符串可以被for…of循环遍历。
for (let codePoint of ‘mm’) {
console.log(codePoint)
// m
// m
}
let text = String.fromCodePoint(0x20BB6);
for (let codePoint of text) {
console.log(codePoint) //
}
三、特殊字符的处理(直接输入 U+2028 和 U+2029)
JavaScript 规定有5个字符,不能在字符串里面直接使用,只能使用转义形式,
字符串里面不能直接包含反斜杠,一定要转义写成\或者\u005c。
\u005c:反斜杠(reverse solidus)
\u000d:回车(carriage return)
\u2028:行分隔符(line separator)
\u2029:段分隔符(paragraph separator)
\u000a:换行符(line feed)
现在,
const {log} = console;
const PS = eval("’\u2029’");
log(PS); // 段分隔符
const {log} = console;
const PS = eval("’\u2028’");
log(PS); // 行分隔符
注意: 模板字符串现在就允许直接输入这两个字符。另外,正则表达式依然不允许直接输入这两个字符,这是没有问题的,因为 JSON 本来就不允许直接包含正则表达式。
四、模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。模板字符串中嵌入变量,需要将变量名写在 ${} 之中。大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。模板字符串之中还能调用函数。
// 字符串中嵌入变量
let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
let x = 1;
let y = 2;
`${x} + ${y} = ${x + y}`
// "1 + 2 = 3"
function fn() {
  return "Hello World";
}
`foo ${fn()} bar`
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119862263
《ECMAScript 6 入门》【三、字符串的扩展】(持续更新中……)的更多相关文章
- 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中
		
写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...
 - [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
		
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
 - java视频教程  Java自学视频整理(持续更新中...)
		
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
 - 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
		
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
 - 《WCF技术剖析》博文系列汇总[持续更新中]
		
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
 - 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
		
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
 - fastadmin 后台管理框架使用技巧(持续更新中)
		
fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...
 - PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)
		
PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++: 欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...
 - 前端面试题总结——HTML(持续更新中)
		
前端面试题总结--HTML(持续更新中) 1.什么是HTML? HTML:HyperText Markup Language超文本标记语言 2.XHTML和HTML有什么区别 HTML是一种基本的WE ...
 - HBase常见问题答疑解惑【持续更新中】
		
HBase常见问题答疑解惑[持续更新中] 本文对HBase开发及使用过程中遇到过的常见问题进行梳理总结,希望能解答新加入的HBaser们的一些疑惑. 1. HTable线程安全吗? HTable不是线 ...
 
随机推荐
- Mysql 8 使用过程中的命令记录
			
Mysql 8 使用过程中的命令记录 注: 当前 MySQL 数据库的版本 8.0.27 修改密码 1. 使用其他用户修改root 密码 ALTER USER 'root'@'localhost' I ...
 - 微服务状态之python巡查脚本开发
			
背景 由于后端微服务架构,于是各种业务被拆分为多个服务,服务之间的调用采用RPC接口,而Nacos作为注册中心,可以监听多个服务的状态,比如某个服务是否down掉了.某个服务的访问地址是否改变.以及流 ...
 - python基础练习题(有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?)
			
day6 --------------------------------------------------------------- 实例011:养兔子 题目 有一对兔子,从出生后第3个月起每个月 ...
 - 论文解读(DCRN)《Deep Graph Clustering via Dual Correlation Reduction》
			
论文信息 论文标题:Deep Graph Clustering via Dual Correlation Reduction论文作者:Yue Liu, Wenxuan Tu, Sihang Zhou, ...
 - 00. 初次使用(系统安装+ssh连接)
			
效率教程,配置不需要插显示器,一步到位 一.装系统 1. sd卡用读卡器插上电脑,打开软件SD Formatter 4.0,按默认配置,直接格式化. 软件下载链接:https://pan.baidu. ...
 - Libco Hook 机制浅析
			
Libco Hook 机制浅析 之前的文章里我们提到过 Libco 有一套 Hook 机制,可以通过协程的让出(yield)原语将系统的阻塞系统调用改造为非阻塞的,这篇文章我们将深入解析 Hook 机 ...
 - SpringData JPA接口总结
			
1 JPA 1.1 整体概念 JPA:Java Persistence API,就是java持久化api,是SUN公司推出的一套基于ORM的规范. ORM呢:Object-Relational Map ...
 - 4 个超实用的 Linux 监控工具
			
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题. 1. iotop 如果你想知 ...
 - 使用echo 无法正确清空文件存储大小
			
在使用echo进行重定向文件的时候,会存在大小没有发生改变的现象 使用上面的方法遇到一个现象 ls -l 与 du -sh 得到的大小事是不同的 可以尝试下面的方面之后在进行对比 再看是否正确清除 使 ...
 - MyBatis热部署
			
代码 import java.io.IOException; import java.lang.reflect.Field; import java.util.HashMap; import java ...