Como utilizar el método de String charCodeAt y la propiedad length - Curso de JavaScript de cero a máster - Capítulo 42

Cambiamos totalmente de tema para descansar un poco de la programación orientada a objetos. Volvemos a los strings. Tema que ya dimos en la parte básica del curso. Ahora, vas a aprender nuevas cosas para manejar los strings.

El método charCodeAt()

El método charCodeAt() es parecido al método charAt() que vimos en el capítulo 9 de este curso. Este indica como argumento la posición de un caracter como el método charAt(), solo que en lugar de devolvernos el propio caracter, nos devuelve el valor Unicode.

Palabra del lenguaje nº 54 encontrada.
charCodeAt() es un método que devuelve el código Unicode en decimal de un caracter.

Por cierto, las posiciones de string, por si no lo recuerdas, se empiezan a contar desde el valor 0.

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

console.log(sitioWeb.charCodeAt(4));
console.log(sitioWeb.charCodeAt(3));
console.log(sitioWeb.charCodeAt(10));

terminal Resultado en la consola terminal

Nos devuelve un valor de 112 para la letra "p" en minúsculas, que es el valor Unicode correspondiente. El número 46 para el "." y el 109 para la letra "m".

112
46
109

Veamos una tabla Unicode para comprobarlo. Haz click aquí para ir a Unicodetable.com.

Haz click en cualquiera de los caracteres que hemos probado.

Unicode JavaScript

En la imagen puede ver dos números. El primero es el número en Unicode, el cual se representa en valores hexadecimales (0-9 y de la A a la F). En el código de entidad html, podemos ver el 112 en el caso de la p. Esto quiere decir, que el método charCodeAt() devuelve los valores Unicode expresados en decimales.

¿Cómo acceder a la última posición de un string en JavaScript?

Podemos utilizar una propiedad del objeto String llamada length, la cual nos va a devolver el número exacto de caracteres que tiene el string.

Palabra del lenguaje nº 55 encontrada.
length es una propiedad del objeto String que devuelve la longitud de caracteres de un string.

Código JavaScript

let sitioWeb = "www.programacionfacil.org";
console.log(sitioWeb.length);

terminal Resultado en la consola terminal

Tenemos un string con 25 caracteres.

25

Utilicemos ahora estos conocimientos para con el método charCodeAt(). Supongamos que no hemos contado los caracteres totales y que no queremos contarlos a ojo (esto podría ser un string con 1000 posiciones).

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

console.log(sitioWeb.charCodeAt(sitioWeb.length));

terminal Resultado en la consola terminal

Vaya... No ha funcionado. Me devuelve un valor NaN. ¿Qué ha podido ocurrir aquí?

NaN

La respuesta es muy sencilla, te acabo de recordar que con los strings se empieza a contar desde el cero, por lo tanto, sitioWeb no posee la posición 25 que me devuelve la propiedad length. Las posiciones van de la 0 a la 24 (25 posiciones). Por lo tanto, tenemos que hacer una "trampita" y restarle al length del string un valor de 1 que nos dejará esta operación: longitudString - 1. Así, sin saber nunca la longitud de un string, podemos utilizar esta estrategia.

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

console.log(sitioWeb.charCodeAt(sitioWeb.length-1));

terminal Resultado en la consola terminal

Ahora sí, devuelve el valor Unicode decimal correspondiente al último caracter, tenga la longitud que tenga.

103

Estos conocimientos los puedes aplicar también al método charAt().

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

console.log(sitioWeb.charAt(sitioWeb.length-1));

terminal Resultado en la consola terminal

g