From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/string/normalize/index.html | 146 +++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 files/vi/web/javascript/reference/global_objects/string/normalize/index.html (limited to 'files/vi/web/javascript/reference/global_objects/string/normalize') diff --git a/files/vi/web/javascript/reference/global_objects/string/normalize/index.html b/files/vi/web/javascript/reference/global_objects/string/normalize/index.html new file mode 100644 index 0000000000..faf26687eb --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/string/normalize/index.html @@ -0,0 +1,146 @@ +--- +title: String.prototype.normalize() +slug: Web/JavaScript/Reference/Global_Objects/String/normalize +tags: + - Chuỗi + - ECMAScript 2015 + - JavaScript + - Phương Thức + - Prototype + - String + - Tham khảo + - Unicode +translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize +--- +
{{JSRef}}
+ +

Phương thức normalize() trả về chuỗi với các ký tự Unicode đã được bình thường hóa (nếu giá trị truyền vào không phải chuỗi, nó sẽ được chuyển thành chuỗi trước).

+ +
{{EmbedInteractiveExample("pages/js/string-normalize.html")}}
+ + + +

Cú pháp

+ +
str.normalize([form])
+ +

Tham số

+ +
+
form
+
Là một trong các giá trị "NFC", "NFD", "NFKC", hoặc "NFKD", để chỉ định định dạng Unicode của chuỗi ký tự. Nếu bỏ qua hoặc mang giá trị {{jsxref("undefined")}}, "NFC" sẽ được sử dụng. +
    +
  • NFC — Normalization Form Canonical Composition. (Unicode Dựng Sẵn)
  • +
  • NFD — Normalization Form Canonical Decomposition. (Unicode Tổ Hợp)
  • +
  • NFKC — Normalization Form Compatibility Composition. (Unicode Dựng Sẵn Tương Thích)
  • +
  • NFKD — Normalization Form Compatibility Decomposition. (Unicode Tổ Hợp Tương Thích)
  • +
+
+
+ +

Giá trị trả về

+ +

Một chuỗi mới với các ký tự Unicode đã được bình thường hóa.

+ +

Lỗi có thể gây ra

+ +
+
{{jsxref("RangeError")}}
+
Phương thức sẽ gây ra lỗi {{jsxref("RangeError")}} nếu như giá trị tham số form không phải là một trong các giá trị liệt kê ở trên.
+
+ +

Mô tả

+ +

Phương thức normalize() sẽ trả về một chuỗi mới với các ký tự Unicode đã được bình thường hóa theo một trong các định dạng Unicode Normalization Form. Nó không làm thay đổi chuỗi ban đầu.

+ +
+

Đối với tiếng Việt, việc bình thường hóa giữa hai định dạng Canonical hoặc Compatibility (cùng Tổ Hợp hoặc Dựng Sẵn) là như nhau.

+
+ +

Ví dụ

+ +

Sử dụng normalize()

+ +
// Chuỗi ban đầu
+
+// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE
+// U+0323: COMBINING DOT BELOW
+var str = '\u1E9B\u0323';
+
+
+// Canonically-composed form (NFC)
+
+// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE
+// U+0323: COMBINING DOT BELOW
+str.normalize('NFC'); // '\u1E9B\u0323'
+str.normalize();      // như trên
+
+
+// Canonically-decomposed form (NFD)
+
+// U+017F: LATIN SMALL LETTER LONG S
+// U+0323: COMBINING DOT BELOW
+// U+0307: COMBINING DOT ABOVE
+str.normalize('NFD'); // '\u017F\u0323\u0307'
+
+
+// Compatibly-composed (NFKC)
+
+// U+1E69: LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+str.normalize('NFKC'); // '\u1E69'
+
+
+// Compatibly-decomposed (NFKD)
+
+// U+0073: LATIN SMALL LETTER S
+// U+0323: COMBINING DOT BELOW
+// U+0307: COMBINING DOT ABOVE
+str.normalize('NFKD'); // '\u0073\u0323\u0307'
+
+// So sánh chuỗi tiếng Việt:
+
+// Unicode Dựng Sẵn
+var tvds = 'Tiếng Việt';
+// Unicode Tổ Hợp
+var tvth = 'Tiếng Việt';
+
+console.log(tvds.length); // 10
+console.log(tvth.length); // 14
+console.log(tvds == tvth); // false
+console.log(tvds.normalize('NFC') == tvth.normalize('NFC')); // true
+
+ +

Đặc tả

+ + + + + + + + + + + + + + + + + + + +
Đặc tảTrạng tháiGhi chú
{{SpecName('ES2015', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}{{Spec2('ES2015')}}Định nghĩa lần đầu.
{{SpecName('ESDraft', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}{{Spec2('ESDraft')}} 
+ +

Trình duyệt hỗ trợ

+ + + +

{{Compat("javascript.builtins.String.normalize")}}

+ +

Xem thêm

+ + -- cgit v1.2.3-54-g00ecf