This translation is incomplete. Please help translate this article from English

El método codePointAt() devuelve un entero no negativo que equivale al valor Unicode code point del carácter.




Índice del carácter en la cadena del que se quiere obtener el valor del Unicode code point.

Valor de retorno

Un número que equivale al valor code point del carácter especificado en el índice de la cadena; devuelve undefined si no se encuentra carácter en la posición especifica.


If there is no element at the specified position, undefined is returned. If no UTF-16 surrogate pair begins at pos, the code unit at pos is returned.


Using codePointAt()

'ABC'.codePointAt(1);          // 66
'\uD800\uDC00'.codePointAt(0); // 65536

'XYZ'.codePointAt(42); // undefined


The following extends Strings to include the codePointAt() function as specified in ECMAScript 2015 for browsers not supporting it natively.

/*! v0.1.0 by @mathias */
if (!String.prototype.codePointAt) {
  (function() {
    'use strict'; // needed to support `apply`/`call` with `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) { // better `isNaN`
        index = 0;
      // Account for out-of-bounds indices:
      if (index < 0 || index >= size) {
        return undefined;
      // Get the first code unit
      var first = string.charCodeAt(index);
      var second;
      if ( // check if it’s the start of a surrogate pair
        first >= 0xD800 && first <= 0xDBFF && // high surrogate
        size > index + 1 // there is a next code unit
      ) {
        second = string.charCodeAt(index + 1);
        if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate
          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 Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'String.prototype.codePointAt' en esta especificación.
Standard Initial definition.
ECMAScript (ECMA-262)
La definición de 'String.prototype.codePointAt' en esta especificación.
Living Standard  

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
codePointAtChrome Soporte completo 41Edge Soporte completo 12Firefox Soporte completo 29IE Sin soporte NoOpera Soporte completo 28Safari Soporte completo 10WebView Android Soporte completo 41Chrome Android Soporte completo 41Firefox Android Soporte completo 29Opera Android Soporte completo 28Safari iOS Soporte completo 10Samsung Internet Android Soporte completo 4.0nodejs Soporte completo 4.0.0
Soporte completo 4.0.0
Soporte completo 0.12
Deshabilitado From version 0.12: this feature is behind the --harmony runtime flag.


Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
El usuario debe de habilitar explícitamente esta característica.
El usuario debe de habilitar explícitamente esta característica.

See also