Las cadenas de JavaScript sirven para almacenar y manipular texto.
Una cadena de JavaScript tiene cero o más caracteres escritos entre comillas.
Ejemplo:
let text = "John Doe";
Puedes utilizar comillas simples o dobles:
Ejemplo:
let carName1 = "Volvo XC60"; // Double quotes
let carName2 = 'Volvo XC60'; // Single quotes
Puedes usar comillas dentro de una cadena, siempre y cuando no coincidan con las comillas que rodean la cadena:
Ejemplo:
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
Longitud de la cadena
Para encontrar la longitud de una cadena, use la propiedad incorporada lenght
:
Ejemplo:
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
Caracter de escape
Debido a que las cadenas deben escribirse entre comillas, JavaScript malinterpretará esta cadena:
let text = "We are the so-called "Vikings" from the north.";
La cadena se cortará a "We are the so-called ".
La solución para evitar este problema es utilizar el carácter de barra invertida.
El carácter de barra invertida (\
) convierte los caracteres especiales en caracteres de cadena:
Código | Resultado | Descripción |
' | ' | Comillas simples |
" | " | Comillas dobles |
\ | \ | Barra invertida |
La secuencia \"
inserta una comilla doble en una cadena:
Ejemplo:
let text = "We are the so-called \"Vikings\" from the north.";
La secuencia \'
inserta una comilla simple en una cadena:
Ejemplo:
let text= 'It\'s alright.';
La secuencia \
inserta una barra invertida en una cadena:
Ejemplo:
let text = "The character \\ is called backslash.";
Otras seis secuencias de escape son válidas en JavaScript:
Código | Resultado |
\b | Quitar un espacio |
\f | Separador de páginas |
\n | Nueva línea |
\r | Volver al inicio |
\t | Tabulador horizontal |
\v | Tabulador vertical |
Los 6 caracteres de escape anteriores fueron diseñados originalmente para controlar máquinas de escribir, teletipos y máquinas de fax. No tienen ningún sentido en HTML.
Rompiendo líneas de código largas
Para una mejor legibilidad, los programadores suelen evitar líneas de código de más de 80 caracteres.
Si una declaración de JavaScript no cabe en una línea, el mejor lugar para dividirla es después de un operador:
Ejemplo:
document.getElementById("demo").innerHTML =
"Hello Dolly!";
También puedes dividir una línea de código dentro de una cadena de texto con una sola barra invertida:
Ejemplo:
document.getElementById("demo").innerHTML = "Hello \
Dolly!";
El método
\
no es el método preferido. Puede que no tenga apoyo universal. Algunos navegadores no permiten espacios detrás del carácter\
.
Una forma más segura de dividir una cadena es utilizar la suma de cadenas:
Ejemplo:
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
No puedes dividir una línea de código con una barra invertida:
Ejemplo:
document.getElementById("demo").innerHTML = \
"Hello Dolly!";
Cadenas de JavaScript como objetos
Normalmente, las cadenas de JavaScript son valores primitivos, creados a partir de literales:
let x = "John";
Pero las cadenas también se pueden definir como objetos con la palabra clave new
:
let y = new String("John");
Ejemplo:
let x = "John";
let y = new String("John");
No cree objetos Strings.
La palabra clave
new
complica el código y ralentiza la velocidad de ejecución.Los objetos de cadena pueden producir resultados inesperados:
Ejemplo:
Cuando se utiliza el operador ==
,x
y y
son iguales:
let x = "John";
let y = new String("John");
Cuando se utiliza el operador ===
,x
y y
no son iguales:
let x = "John";
let y = new String("John");
Tenga en cuenta la diferencia entre
(x==y)
y(x===y)
.
Ejemplo:
(x == y)
¿verdadero o falso?
let x = new String("John");
let y = new String("John");
Ejemplo:
(x === y)
¿verdadero o falso?
let x = new String("John");
let y = new String("John");
La comparación de dos objetos JavaScript siempre devuelve falso.
Referencia completa de cadenas
Para obtener una referencia completa de cadenas, vaya a:
Referencia completa de cadenas de JavaScript.
La referencia contiene descripciones y ejemplos de todas las propiedades y métodos de cadena.
Traducido con 💚 desde W3Schools.com