ES6学习 第三章 字符串的扩展

临文乍了了,彻卷兀若无。这篇文章主要讲述ES6学习 第三章 字符串的扩展相关的知识,希望能为你提供帮助。
前言本章主要是内容为是 ES6 对字符串的改造和增强。
本章记录字符串的扩展常用重点部分,不常用知识稍作记录。
本章原文链接: 字符串的扩展
模板字符串(template string)ES6字符串的扩展最常用的就是模版字符串了
模板字符串,都是用反引号表示。如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。

  • 模版字符串 保留空格和换行。
  • 模版字符串 是允许嵌入变量名或表达式。
  • 模版字符串 可以嵌套模版字符串。
  • 模版字符串 " 标签模板" 功能
模版字符串保留空格和换行,直接在模版字符串中使用换行与空格就行
//模版字符串保留空格和换行 const SAMPLE = ` < ul> < li> list1< /li> < li> list2< /li> < li> list3< /li> < li> list4< /li> < /ul> `; console.log(SAMPLE); // 输出结果为 /* < ul> < li> list1< /li> < li> list2< /li> < li> list3< /li> < li> list4< /li> < /ul> */

模版字符串使用变量与字符串需要写在${} 的大括号中,在大括号中也可以写字符串。
// 在模版字符串中使用变量与表达式 let sampleName = "gssg"; let sampleAge = 10; let sampleAge1 = 8; const SAMPLE = `My name is ${sampleName} and MY age is ${sampleAge + sampleAge1} years old`; console.log(SAMPLE); // 输出 My name is gssg and MY age is 18 years old

在模版字符串中还可以写模版字符串,利用${}来嵌套。
// 模版字符串的嵌套const SAMPLE = ` < ul> ${`< li> list1< /li> < li> list2< /li> `} < /ul> `; console.log(SAMPLE); // 输出 /* < li> list1< /li> < li> list2< /li> < /ul> */

模版字符串可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。
标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。
alert`hello`; // 等同于 alert([hello]); // 模板字符串前面有一个标识名tag,它是一个函数。整个表达式的返回值,就是tag函数处理模板字符串后的返回值。let sample = 5; let sample1 = 10; tag`Hello ${sample} world ${sample + sample1}`; // 等同于 tag([Hello ,world , ], 5, 15);

Unicode【ES6学习 第三章 字符串的扩展】Unicode的目标是为世界上每一个字符提供唯一标识符,唯一标识符称为码位或码点(code point)。而这些码位是用于表示字符的,又称为字符编码(character encode)
ES6 加强了对 Unicode 的支持,允许采用\\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。
console.log("\\u0062"); // b// 也可以使用大括号将原来超过 0xFFFF 的数值,正确解读 console.log("\\u{20FFF}"); //

    推荐阅读