ECMAScript 2020:新的零宽度空格符号和零宽度非断点

在 ECMAScript 2020 中,我们迎来了两个新的字符:零宽度空格符号和零宽度非断点。这两个字符在前端开发中并不是很常用,但在一些特殊场景下,它们可以起到让代码更简洁明了的作用。

零宽度空格符号

零宽度空格符号(U+200B)是一种不可见字符,它的主要作用是在文本中插入一个零宽度的空格,让文本内容的分隔更加明显。这个符号在语言翻译、排版等领域非常有用。

比如,我们可以在下面的句子中插入一个零宽度空格符号:

在浏览器中展示时,这个空格符号是不可见的,但它确实存在,可以让句子的结构更加清晰。

在实际使用中,我们可以通过字符串的 replaceAll() 方法来插入零宽度空格符号:

注意,这里有一个不可见的字符,所以不要直接复制代码粘贴到编辑器中使用。

零宽度非断点

零宽度非断点(U+FEFF)是另一个不可见字符,它的主要作用是在文本中插入一个零宽度的非断点符号,这个符号可以帮助我们避免单词之间的换行问题。

在一些特殊情况下,如果我们需要禁止单词之间的换行,我们可以在单词之间插入零宽度非断点符号,这样即使单词太长,也不会在单词中间换行,而是整体换行。

比如,我们可以在下面的句子中插入一个零宽度非断点符号:

在展示时,这个符号同样是不可见的。

在实际使用中,我们可以通过字符串的 replaceAll() 方法来插入零宽度非断点符号:

需要注意的是,为了避免误解,我们在代码中使用了 HTML 实体编码  表示零宽度非断点符号。

总结

零宽度空格符号和零宽度非断点在前端开发中并不是经常使用,但在一些特殊场景下,它们可以为我们提供很大的方便。在实际使用中,我们可以通过字符串的 replaceAll() 方法来插入这两个字符。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65474c827d4982a6eb1a971d


纠错
反馈