📜  JavaScript字符串.normalize() 方法(1)

📅  最后修改于: 2023-12-03 15:31:48.162000             🧑  作者: Mango

JavaScript字符串.normalize() 方法

在JavaScript中,字符串是一种重要的数据类型,提供了很多方法来操作字符串。其中,.normalize()方法是一个比较实用的方法,用于返回字符串的Unicode标准化形式。

语法
str.normalize([form]);

str:要进行操作的字符串变量。

form:可选参数,指定要使用的Unicode标准化形式。

返回值

normalize()方法将返回字符串的标准化形式,即一个新字符串。

Unicode标准化形式

在Unicode中,每个字符都有多种表示形式,标准化形式就是将这些不同的表示方式转换成统一的形式。标准化形式一共有四种:

  • NFC(Normalization Form Canonical Composition):使用组合字符;
  • NFD(Normalization Form Canonical Decomposition):使用分解字符;
  • NFKC(Normalization Form Compatibility Composition):使用组合字符,同时兼容ASCII;
  • NFKD(Normalization Form Compatibility Decomposition):使用分解字符,同时兼容ASCII。
代码示例
const str = 'café';
console.log(str.normalize());  // 'café'

const str2 = '\u0065\u0301';
console.log(str2.normalize()); // 'é'

const str3 = 'L̲e̲a̲r̲n̲i̲n̲g̲ ̲J̲a̲v̲a̲S̲c̲r̲i̲p̲t̲';
console.log(str3.normalize()); // 'Learning JavaScript'

const str4 = 'Αγοράζω';
console.log(str4.normalize('NFD')); // '\u0391\u03b3\u03bf\u03c1\u03ac\u03b6\u03c9'

const str5 = '🦄🌈';
console.log(str5.normalize('NFC')); // '🦄🌈'

以上代码展示了.normalize()方法的基本用法和不同的标准化形式。同时,它还能将含有组合字符的字符串转换成分解字符,或者将含有分解字符的字符串转换成组合字符,从而可以更好地处理字符串数据。