A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/isWellFormed below:

String.prototype.isWellFormed() - JavaScript | MDN

String.prototype.isWellFormed()

Baseline 2023

Newly available

Die isWellFormed() Methode von String Werten gibt einen Booleschen Wert zurück, der anzeigt, ob diese Zeichenkette lone surrogates enthält.

Syntax Parameter

Keine.

Rückgabewert

Gibt true zurück, wenn diese Zeichenkette keine lone surrogates enthält, andernfalls false.

Beschreibung

Zeichenketten in JavaScript sind UTF-16-kodiert. Die UTF-16-Kodierung hat das Konzept der Surrogatpaare, die im Abschnitt UTF-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 ist isWellFormed() 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 die toWellFormed() 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()
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, indem isWellFormed() verwendet wird, um die Zeichenkette zu testen, bevor sie an encodeURI() übergeben wird.

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 Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4