Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. String
  6. isWellFormed()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

String.prototype.isWellFormed()

Baseline 2023
Newly available

Since ⁨October 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

DieisWellFormed() Methode vonString Werten gibt einen Booleschen Wert zurück, der anzeigt, ob diese Zeichenkettelone surrogates enthält.

Syntax

js
isWellFormed()

Parameter

Keine.

Rückgabewert

Gibttrue zurück, wenn diese Zeichenkette keine lone surrogates enthält, andernfallsfalse.

Beschreibung

Zeichenketten in JavaScript sind UTF-16-kodiert. Die UTF-16-Kodierung hat das Konzept derSurrogatpaare, die im AbschnittUTF-16-Zeichen, Unicode-Codierungen und Graphem-Cluster ausführlich erläutert werden.

isWellFormed() ermöglicht es Ihnen zu testen, ob eine Zeichenkette wohlgeformt ist (d.h. keine lone surrogates enthält). Im Vergleich zu einer benutzerdefinierten Implementierung istisWellFormed() effizienter, da Engines direkt auf die interne Repräsentation von Zeichenketten zugreifen können. Wenn Sie eine Zeichenkette in eine wohlgeformte Zeichenkette umwandeln müssen, verwenden Sie dietoWellFormed() Methode.isWellFormed() erlaubt es, fehlerhafte Zeichenketten anders zu behandeln als wohlgeformte, wie z.B. das Werfen eines Fehlers oder das Markieren als ungültig.

Beispiele

Verwendung von isWellFormed()

js
const strings = [  // Lone leading surrogate  "ab\uD800",  "ab\uD800c",  // Lone trailing surrogate  "\uDFFFab",  "c\uDFFFab",  // Well-formed  "abc",  "ab\uD83D\uDE04c",];for (const str of strings) {  console.log(str.isWellFormed());}// Logs:// false// false// false// false// true// true

Vermeidung von Fehlern in encodeURI()

encodeURI löst einen Fehler aus, wenn die übergebene Zeichenkette nicht wohlgeformt ist. Dies kann vermieden werden, indemisWellFormed() verwendet wird, um die Zeichenkette zu testen, bevor sie anencodeURI() übergeben wird.

js
const illFormed = "https://example.com/search?q=\uD800";try {  encodeURI(illFormed);} catch (e) {  console.log(e); // URIError: URI malformed}if (illFormed.isWellFormed()) {  console.log(encodeURI(illFormed));} else {  console.warn("Ill-formed strings encountered."); // Ill-formed strings encountered.}

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.iswellformed

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp