Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. String
  6. String.prototype.codePointAt()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

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 ⁨сентябрь 2015 г.⁩.

Сводка

МетодcodePointAt() возвращает неотрицательное целое число, являющееся закодированным в UTF-16 значением кодовой точки.

Синтаксис

str.codePointAt(pos)

Параметры

pos

Позиция элемента в строке, чья кодовая точка возвращается функцией.

Описание

Если на указанной позиции нет элементов, будет возвращено значениеundefined. Если суррогатная пара UTF-16 не начинается в позицииpos, будет возвращено кодовое значение в позицииpos.

Примеры

Пример: использование методаcodePointAt()

js
"ABC".codePointAt(1); // 66"\uD800\uDC00".codePointAt(0); // 65536"XYZ".codePointAt(42); // undefined

Полифил

Следующий полифил расширяет прототип строки определённой в ECMAScript 6 функциейcodePointAt(), если браузер не имеет её родной поддержки.

js
/*! http://mths.be/codepointat v0.1.0 от @mathias */if (!String.prototype.codePointAt) {  (function () {    "use strict"; // необходимо для поддержки методов `apply`/`call` с `undefined`/`null`    var codePointAt = function (position) {      if (this == null) {        throw TypeError();      }      var string = String(this);      var size = string.length;      // `ToInteger`      var index = position ? Number(position) : 0;      if (index != index) {        // лучше, чем `isNaN`        index = 0;      }      // Проверяем выход индекса за границы строки      if (index < 0 || index >= size) {        return undefined;      }      // Получаем первое кодовое значение      var first = string.charCodeAt(index);      var second;      if (        // проверяем, не начинает ли оно суррогатную пару        first >= 0xd800 &&        first <= 0xdbff && // старшая часть суррогатной пары        size > index + 1 // следующее кодовое значение      ) {        second = string.charCodeAt(index + 1);        if (second >= 0xdc00 && second <= 0xdfff) {          // младшая часть суррогатной пары          // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae          return (first - 0xd800) * 0x400 + second - 0xdc00 + 0x10000;        }      }      return first;    };    if (Object.defineProperty) {      Object.defineProperty(String.prototype, "codePointAt", {        value: codePointAt,        configurable: true,        writable: true,      });    } else {      String.prototype.codePointAt = codePointAt;    }  })();}

Спецификации

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

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp