[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/charAt [Back]  [Original]

String.prototype.charAt() - JavaScript | MDN

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

View in English Always switch to English

String.prototype.charAt()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die charAt()-Methode von String-Werten gibt einen neuen String zurck, der aus der einzelnen UTF-16-Codeeinheit an dem angegebenen Index besteht.

charAt() indiziert den String immer als eine Sequenz von UTF-16-Codeeinheiten, sodass es einzelne Surrogate zurckgeben kann. Um den vollstndigen Unicode-Codepunkt an dem angegebenen Index zu erhalten, verwenden Sie String.prototype.codePointAt() und String.fromCodePoint().

In diesem Artikel

Probieren Sie es aus

const sentence = "The quick brown fox jumps over the lazy dog.";

const index = 4;

console.log(`The character at index ${index} is ${sentence.charAt(index)}`);
// Expected output: "The character at index 4 is q"

Syntax

js
charAt(index)

Parameter

index

Nullbasierter Index des zurckzugebenden Zeichens. Zu einer Ganzzahl konvertiert undefined wird zu 0 konvertiert.

Rckgabewert

Ein String, der das Zeichen (genau eine UTF-16-Codeeinheit) am angegebenen index darstellt. Wenn index auerhalb des Bereichs von 0 bis str.length - 1 liegt, gibt charAt() einen leeren String zurck.

Beschreibung

Zeichen in einem String werden von links nach rechts indiziert. Der Index des ersten Zeichens ist 0, und der Index des letzten Zeichens in einem String namens str ist str.length - 1.

Unicode-Codepunkte liegen im Bereich von 0 bis 1114111 (0x10FFFF). charAt() gibt immer ein Zeichen zurck, dessen Wert kleiner als 65536 ist, da die hheren Codepunkte durch ein Paar von 16-Bit-Surrogat-Pseudoocharakteren dargestellt werden. Daher ist es notwendig, um ein vollstndiges Zeichen mit einem Wert grer als 65535 zu erhalten, nicht nur charAt(i), sondern auch charAt(i + 1) zu verwenden (als ob man eine Zeichenkette mit zwei Zeichen manipuliert), oder stattdessen codePointAt(i) und String.fromCodePoint() zu verwenden. Fr Informationen ber Unicode siehe UTF-16-Zeichen, Unicode-Codepunkte und Graphemcluster.

charAt() ist sehr hnlich zur Verwendung der Klammernotation, um auf ein Zeichen an dem angegebenen Index zuzugreifen. Die Hauptunterschiede sind:

  • charAt() versucht, index in eine Ganzzahl zu konvertieren, whrend die Klammernotation dies nicht tut und index direkt als Eigenschaftsname verwendet.
  • charAt() gibt einen leeren String zurck, wenn index auerhalb des Bereichs liegt, whrend die Klammernotation undefined zurckgibt.

Beispiele

Verwendung von charAt()

Das folgende Beispiel zeigt Zeichen an verschiedenen Stellen im String "Brave new world":

js
const anyString = "Brave new world";
console.log(`The character at index 0   is '${anyString.charAt()}'`);
// No index was provided, used 0 as default

console.log(`The character at index 0   is '${anyString.charAt(0)}'`);
console.log(`The character at index 1   is '${anyString.charAt(1)}'`);
console.log(`The character at index 2   is '${anyString.charAt(2)}'`);
console.log(`The character at index 3   is '${anyString.charAt(3)}'`);
console.log(`The character at index 4   is '${anyString.charAt(4)}'`);
console.log(`The character at index 999 is '${anyString.charAt(999)}'`);

Diese Zeilen zeigen Folgendes an:

The character at index 0   is 'B'

The character at index 0   is 'B'
The character at index 1   is 'r'
The character at index 2   is 'a'
The character at index 3   is 'v'
The character at index 4   is 'e'
The character at index 999 is ''

charAt() kann einzelne Surrogate zurckgeben, die keine gltigen Unicode-Zeichen sind.

js
const str = "";
console.log(str.charAt(0)); // "\ud842", which is not a valid Unicode character
console.log(str.charAt(1)); // "\udfb7", which is not a valid Unicode character

Um den vollstndigen Unicode-Codepunkt an dem angegebenen Index zu erhalten, verwenden Sie eine Indizierungsmethode, die nach Unicode-Codepunkten aufteilt, wie String.prototype.codePointAt() und Strings Aufspalten in ein Array von Unicode-Codepunkten.

js
const str = "";
console.log(String.fromCodePoint(str.codePointAt(0))); // ""
console.log([...str][0]); // ""

Hinweis: Vermeiden Sie es, die obigen Lsungen unter Verwendung von charAt() neu zu implementieren. Die Erkennung einzelner Surrogate und deren Paarung ist komplex, und integrierte APIs knnen mglicherweise leistungsfhiger sein, da sie direkt die interne Darstellung des Strings verwenden. Installieren Sie bei Bedarf ein Polyfill fr die oben genannten APIs.

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.charat

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page