Cadenas JavaScript
En JavaScript, las cadenas se utilizan para almacenar y manipular texto. No existe un tipo separado para un solo carácter. El formato interno de las cadenas es siempre UTF-16.
Una cadena representa cero o más caracteres que se escriben entre comillas.
Sobre las comillas
Podemos distinguir comillas simples, comillas dobles, y acento grave:
let single = 'single-quoted';
let double = "double-quoted";
let backticks = `backticks`;
Las comillas dobles y simples son iguales. Sin embargo, los acentos graves son diferentes. Puede utilizarlos para incrustar cualquier expresión en la cadena envolviéndola en ${…} de la siguiente forma:
Una de las ventajas más cruciales de los acentos graves es que permiten que una cadena se extienda en varias líneas de esta manera:
Pero, tenga en cuenta que las comillas simples y las comillas dobles no funcionarán en este caso. Si los usa intentando aplicar varias líneas, ocurrirá un error:
let guestList = "Guests: // Error: Unexpected token ILLEGAL
* John ";
Las comillas simples y dobles aparecieron antes que los acentos graves. Por lo tanto, los acentos graves son más funcionales.
También puedes especificar una “función de plantilla” antes del primer acento grave. La sintaxis se verá así:
func `string`
Como regla, la función func se llama automáticamente. Recibe tanto la cadena como las expresiones incrustadas procesándolas. Utilizando esta característica, puedes implementar rápidamente una plantilla personalizada. De todos modos, los desarrolladores rara vez lo usan en la práctica.
Caracteres especiales
Puedes crear cadenas de varias líneas con comillas dobles o simples con la ayuda de \n, así:
Existen otros caracteres especiales menos comunes.
Encuentra algunos de ellos en la lista a continuación:
- \', \" Estos caracteres especiales se usan para citar.
- \r - retorno de carro. Este carácter ya no se usa solo. Una combinación de dos caracteres \r\n se usa para representar un salto de línea en los archivos de texto de Windows.
- \\ - barra invertida
- \t - tabulador
- \xXX - carácter unicode con un unicode hexadecimal XX específico
- \uXXXX - este es un símbolo unicode con el código hexadecimal XXXX en codificación UTF-16. Debe incluir exactamente 4 dígitos.
Aquí hay ejemplos con unicode:
Tenga en cuenta que todos los caracteres especiales comienzan con una barra invertida. También se conoce como un “caracter de escape”.
También puedes usarlo en caso de que quieras poner una cita en la cadena.
Aquí hay un ejemplo:
Además, considere que la barra invertida se utiliza principalmente para corregir la lectura de la cadena por parte de JavaScript, después de lo cual desaparece. En la memoria de la cadena, no puedes encontrar ninguna \ . Pero cuando necesitas mostrar una barra invertida real dentro de la cadena, debes duplicarla, como en este ejemplo:
La longitud de la cadena
La propiedad length se utiliza para encontrar la longitud de una cadena:
Tenga en cuenta que \n es un carácter especial. Por lo tanto, la longitud debería ser 7.
A veces los desarrolladores escriben mal esta propiedad llamando a str.length() en lugar de solo str.length. Eso no funcionará.
Accediendo a los caracteres
Los corchetes[pos] se utilizan principalmente para obtener un carácter en una posición [pos]. También puedes hacerlo llamando al método str.charAt(pos). El primer carácter debe comenzar desde cero:
Los desarrolladores modernos prefieren usar los corchetes, mientras que charAt se usa raramente
Las cadenas son inmutables
No es posible cambiar las cadenas en JavaScript. Mira este ejemplo para asegurarte de que no funcionará:
La práctica común es crear una cadena completamente nueva asignándola a str en lugar de la antigua de esta manera:
Cambio de mayúsculas y minúsculas
Podemos distinguir dos métodos para cambiar el caso. Aquí están:
En otro escenario, si un solo carácter debe estar en minúsculas, use este método:
Buscando una subcadena
Vamos a descubrir las formas de buscar una subcadena dentro de una cadena.
str.indexOf
Este es el primer método que se utiliza para buscar la substr en str. Comienza desde la posición específica pos y devuelve esa posición en el momento en que se encuentra la coincidencia, o -1, en caso de que no se encuentre nada.
Vamos a revisar el siguiente ejemplo:
str.lastIndexOf(substr, position)
Este método busca desde el final de una cadena hasta el principio. Las apariciones se listarán en orden inverso.
Considere una pequeña dificultad con indexOf dentro de la prueba if. No se puede colocar en if de esta manera:
Por lo tanto, es necesario verificar el -1, de la siguiente manera:
Incluye, empieza con, termina con
El método más contemporáneo str.includes(substr, pos) es capaz de devolver true/false dependiendo de si hay substr en el str.
Actúa como en el ejemplo, si necesitas probar la coincidencia sin necesitar su posición al mismo tiempo:
El segundo argumento de str.includes es la posición desde la que empiezas a buscar. Aquí un ejemplo:
Obteniendo una subcadena
JavaScript incluye tres métodos para obtener una subcadena: substring, substr y slice.
str.slice(start [, end])
Este método se utiliza para devolver una parte de la cadena desde start a end.
Por ejemplo:
Si no hay un segundo argumento, el slice irá hasta el final, así:
Para start/end también puedes usar valores negativos.
Por ejemplo:
str.substring(start [, end])
Este método se utiliza para devolver una parte de la cadena entre start y end.
Se parece mucho a slice. La diferencia más notable es que en el marco de este método, start puede ser mayor que end.
Por ejemplo:
str.substr(start [, length])
Este método devuelve una parte de la cadena a partir de start, con una longitud específica. Difiere de los métodos anteriores. Este método te ayudará a especificar la length en lugar de la posición final.
Por ejemplo:
El primer argumento podría ser negativo para contar desde el final:
Comparación de las cadenas
Es esencial saber que las cadenas deben compararse carácter por carácter en orden alfabético.
También deberías considerar las siguientes características:
- La minúscula es mayor que la mayúscula, así:
Comparison in javascript stringsconsole.log('a' > 'Z'); // true
- Las letras que contienen marcas diacríticas se consideran “fuera de orden”.
Por ejemplo:
Ahora, vamos a empezar a revisar la representación interna de las cadenas en JavaScript.
En JavaScript, codificamos todas las cadenas utilizando UTF-16. Esto significa que cada uno de los caracteres tiene un código numérico apropiado.
str.codePointAt(pos)
Se utiliza para devolver el código para el carácter en la posición pos:
String.fromCodePoint(code)
Hace un carácter por el código numérico:
Los caracteres Unicode también pueden agregarse por sus códigos aplicando \u seguido del código hex.
Por ejemplo:
Vamos a mirar a los caracteres con códigos 65..220 y hacer una cadena de ellos:
Aquí, puedes notar que las letras mayúsculas van primero, luego varios caracteres especiales, y finalmente, Ö al final de la salida.
Hora del Cuestionario: ¡Pon a Prueba Tus Habilidades!
¿Listo para desafiar lo que has aprendido? Sumérgete en nuestros cuestionarios interactivos para una comprensión más profunda y una forma divertida de reforzar tu conocimiento.