Movatterモバイル変換


[0]ホーム

URL:


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

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.codePointAt()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2015⁩.

DiecodePointAt()-Methode vonString Werten gibt eine nicht negative Ganzzahl zurück, die der Unicode-Codepunktwert des Zeichens ist, das an dem angegebenen Index beginnt. Beachten Sie, dass der Index immer noch auf UTF-16-Codeeinheiten basiert, nicht auf Unicode-Codepunkten.

Probieren Sie es aus

const icons = "☃★♲";console.log(icons.codePointAt(1));// Expected output: "9733"

Syntax

js
codePointAt(index)

Parameter

index

Nullbasierter Index des zurückzugebenden Zeichens.In eine Ganzzahl konvertiertundefined wird in 0 konvertiert.

Rückgabewert

Eine nicht negative Ganzzahl, die den Codepunktwert des Zeichens an der angegebenenindex repräsentiert.

  • Wennindex außerhalb des Bereichs von0str.length - 1 liegt, gibtcodePointAt()undefined zurück.
  • Wenn das Element amindex ein UTF-16 führendes Surrogat ist, gibt es den Codepunkt des Surrogatpaars zurück.
  • Wenn das Element amindex ein UTF-16 nachfolgendes Surrogat ist, gibt es nur die nachfolgende Surrogat-Codeeinheit zurück.

Beschreibung

Zeichen in einem String sind von links nach rechts indiziert. Der Index des ersten Zeichens ist0, und der Index des letzten Zeichens in einem String namensstr iststr.length - 1.

Unicode-Codepunkte reichen von0 bis1114111 (0x10FFFF). In UTF-16 ist jeder String-Index eine Codeeinheit mit dem Wert065535. Höhere Codepunkte werden durch ein Paar von 16-Bit-Surrogat-Pseudo-Zeichen dargestellt. Daher gibtcodePointAt() einen Codepunkt zurück, der sich möglicherweise über zwei String-Indizes erstreckt. Für Informationen zu Unicode, sieheUTF-16-Zeichen, Unicode-Codepunkte und Grapheme-Cluster.

Beispiele

Verwendung von codePointAt()

js
"ABC".codePointAt(0); // 65"ABC".codePointAt(0).toString(16); // 41"😍".codePointAt(0); // 128525"\ud83d\ude0d".codePointAt(0); // 128525"\ud83d\ude0d".codePointAt(0).toString(16); // 1f60d"😍".codePointAt(1); // 56845"\ud83d\ude0d".codePointAt(1); // 56845"\ud83d\ude0d".codePointAt(1).toString(16); // de0d"ABC".codePointAt(42); // undefined

Schleifen mit codePointAt()

Da die Verwendung von String-Indizes für Schleifen dazu führt, dass derselbe Codepunkt zweimal besucht wird (einmal für das führende Surrogat, einmal für das nachfolgende Surrogat), und beim zweiten Mal gibtcodePointAt() nur das nachfolgende Surrogat zurück, ist es besser, Schleifen nach Index zu vermeiden.

js
const str = "\ud83d\udc0e\ud83d\udc71\u2764";for (let i = 0; i < str.length; i++) {  console.log(str.codePointAt(i).toString(16));}// '1f40e', 'dc0e', '1f471', 'dc71', '2764'

Verwenden Sie stattdessen einefor...of-Anweisung oderspreaden Sie den String, die beide den String's[Symbol.iterator]() aufrufen, der nach Codepunkten iteriert. Verwenden Sie danncodePointAt(0), um den Codepunkt jedes Elements zu erhalten.

js
for (const codePoint of str) {  console.log(codePoint.codePointAt(0).toString(16));}// '1f40e', '1f471', '2764'[...str].map((cp) => cp.codePointAt(0).toString(16));// ['1f40e', '1f471', '2764']

Spezifikationen

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

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