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/Symbol/match below:

Symbol.match - JavaScript | MDN

Symbol.match

Baseline Widely available

Die statische Dateneigenschaft Symbol.match repräsentiert das wohlbekannte Symbol Symbol.match. Die Methode String.prototype.match() sucht dieses Symbol im ersten Argument, um die Methode zu ermitteln, die verwendet wird, um einen Eingabestring mit dem aktuellen Objekt abzugleichen. Dieses Symbol wird auch verwendet, um festzustellen, ob ein Objekt als Regex behandelt werden soll.

Weitere Informationen finden Sie unter RegExp.prototype[Symbol.match]() und String.prototype.match().

Probieren Sie es aus
const regexp1 = /foo/;
// console.log('/foo/'.startsWith(regexp1));
// Expected output (Chrome): Error: First argument to String.prototype.startsWith must not be a regular expression
// Expected output (Firefox): Error: Invalid type: first can't be a Regular Expression
// Expected output (Safari): Error: Argument to String.prototype.startsWith cannot be a RegExp

regexp1[Symbol.match] = false;

console.log("/foo/".startsWith(regexp1));
// Expected output: true

console.log("/baz/".endsWith(regexp1));
// Expected output: false
Wert

Das wohlbekannte Symbol Symbol.match.

Schreibbar nein Aufzählbar nein Konfigurierbar nein Beschreibung

Diese Funktion wird auch verwendet, um zu identifizieren, ob Objekte das Verhalten von regulären Ausdrücken aufweisen. Zum Beispiel prüfen die Methoden String.prototype.startsWith(), String.prototype.endsWith() und String.prototype.includes(), ob ihr erstes Argument ein regulärer Ausdruck ist, und werfen einen TypeError, wenn dies der Fall ist. Wenn jetzt das match-Symbol auf false (oder einen Falsy-Wert außer undefined) gesetzt ist, zeigt es an, dass das Objekt nicht als reguläres Ausdruckobjekt verwendet werden soll.

Beispiele Markieren eines RegExp als kein Regex

Der folgende Code wird einen TypeError werfen:

"/bar/".startsWith(/bar/);

// Throws TypeError, as /bar/ is a regular expression
// and Symbol.match is not modified.

Wenn Sie jedoch Symbol.match auf false setzen, wird das Objekt als kein reguläres Ausdruckobjekt betrachtet. Die Methoden startsWith und endsWith werden als Ergebnis keinen TypeError werfen.

const re = /foo/;
re[Symbol.match] = false;
"/foo/".startsWith(re); // true
"/baz/".endsWith(re); // false
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