Cadenas JavaScript
Las cadenas de JavaScript son para almacenar y manipular texto.
Una cadena de JavaScript es cero o más caracteres escritos entre comillas.
Ejemplo
let text = "John Doe";
Puede utilizar comillas simples o dobles:
Ejemplo
let carName1 = "Volvo XC60";
// Double quotes
let carName2 = 'Volvo XC60'; // Single quotes
Puede usar comillas dentro de una cadena, siempre que 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 cuerda
Para encontrar la longitud de una cadena, use la length
propiedad incorporada:
Ejemplo
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
Personaje 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 "Somos los llamados".
La solución para evitar este problema es utilizar el carácter de escape de barra invertida .
El carácter de escape de barra invertida ( \
) convierte los caracteres especiales en caracteres de cadena:
Code | Result | Description |
---|---|---|
\' | ' | Single quote |
\" | " | Double quote |
\\ | \ | Backslash |
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:
Code | Result |
---|---|
\b | Backspace |
\f | Form Feed |
\n | New Line |
\r | Carriage Return |
\t | Horizontal Tabulator |
\v | Vertical Tabulator |
Los 6 caracteres de escape anteriores se diseñaron originalmente para controlar máquinas de escribir, teletipos y máquinas de fax. No tienen ningún sentido en HTML.
Romper líneas de código largas
Para una mejor legibilidad, a los programadores a menudo les gusta evitar las 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 puede 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. Es posible que no tenga soporte universal.
Algunos navegadores no permiten espacios detrás del \
carácter.
Una forma más segura de dividir una cadena es usar la suma de cadenas:
Ejemplo
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
No puede 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 de cadenas.
La new
palabra clave complica el código y ralentiza la velocidad de ejecución.
Los objetos de cadena pueden producir resultados inesperados:
Cuando se usa el ==
operador, x e y son iguales :
let x = "John";
let y = new String("John");
Cuando se usa el ===
operador, x e y no son iguales :
let x = "John";
let y = new String("John");
Tenga en cuenta la diferencia entre (x==y)
y (x===y)
.
(x == y)
¿verdadero o falso?
let x = new String("John");
let y = new String("John");
(x === y)
¿verdadero o falso?
let x = new String("John");
let y = new String("John");
La comparación de dos objetos de JavaScript siempre devuelve falso .
Referencia de cadena completa
Para obtener una referencia completa de String, vaya a nuestro:
Referencia completa de cadenas de JavaScript .
La referencia contiene descripciones y ejemplos de todas las propiedades y métodos de cadenas.