Strings Javascript
Los strings Javascript son usados para almacenar y manipular texto. Una cadena JavaScript tiene cero o más caracteres escritos entre comillas.
Ejm
var x = "John Doe";
Puedes usar comillas simples o dobles.
Ejm
var carName1 = "Volvo XC60"; // Double quotes var carName2 = 'Volvo XC60'; // Single quotes
Puedes usar comillas dentro de una cadena, siempre que no coincidan con las comillas que rodean la cadena.
Ejm
var answer1 = "It's alright"; var answer2 = "He is called 'Johnny'"; var answer3 = 'He is called "Johnny"';
Tamaño del string (texto)
Para encontrar la longitud de una cadena, use la propiedad lengt.
Ejm
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Carácter de escape
Debido a que las cadenas deben escribirse entre comillas, JavaScript malinterpretará esta cadena.
Ejm
var x = "We are the so-called "Vikings" from the north.";
La cadena se cortará a “We are the..”. La solución para evitar este problema es utilizar el carácter de escape de barra diagonal inversa. El carácter de escape de barra diagonal inversa (\) convierte caracteres especiales en caracteres de cadena:
Code | Result | Description |
---|---|---|
\’ | ‘ | Single quote |
\” | “ | Double quote |
\\ | \ | Backslash |
La secuencia \” inserta una comilla doble en una cadena.
Ejm
var x = "We are the so-called \"Vikings\" from the north.";
La secuencia \’ inserta una comilla simple en una cadena.
var x = 'It\'s alright.';
La secuencia \\ inserta una barra invertida en una cadena.
Ejm
var x = "The character \\ is called backslash.";
Otras seis secuencias de escape son válidas en JavaScript.
Code | Result |
---|---|
\b | Retroceso |
\f | Feed de formulario |
\n | Nueva líne |
\r | Retorno de carro |
\t | Tabulador horizontal |
\v | Tabulador vertical |
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 largas líneas de código
Para una mejor legibilidad, los programadores suelen evitar las líneas de código de más de 80 caracteres.
Si una declaración JavaScript no cabe en una línea, el mejor lugar para romperla es después de un operador.
Ejm
document.getElementById("demo").innerHTML = "Hello Dolly!";
También puede dividir una línea de código dentro de una cadena de texto con una barra invertida simple.
Ejm
document.getElementById("demo").innerHTML = "Hello \ Dolly!";
El método \ no es el método preferido. Puede 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 utilizar la suma de cadenas.
Ejm
document.getElementById("demo").innerHTML = "Hello " + "Dolly!";
No puedes dividir una línea de código con una barra diagonal inversa.
Ejm
document.getElementById("demo").innerHTML = \ "Hello Dolly!";
Los strings también pueden ser objetos
Normalmente, las cadenas JavaScript son valores primitivos, creados a partir de literales.
Ejm
var firstName = "John";
Pero las cadenas también se pueden definir como objetos con la palabra clave new.
Ejm
var firstName = new String("John");
Ejm
var x = "John"; var y = new StringCuando se usa el operador ==, las cadenas iguales son iguales:John"); // typeof x will return string // typeof y will return object
No crees cadenas como objetos. Disminuye la velocidad de ejecución. La palabra clave new complica el código. Esto puede producir algunos resultados inesperados.
Cuando se usa el operador ==, las cadenas iguales son iguales.
Ejm
var x = "John"; var y = new String("John"); // (x == y) is true because x and y have equal values
Cuando se usa el operador ===, las cadenas iguales no son iguales, porque el operador === espera igualdad tanto en tipo como en valor.
Ejm
var x = "John"; var y = new String("John"); // (x === y) is false because x and y have different types (string and object)
O incluso peor. Los objetos no se pueden comparar.
Ejm
var x = new String("John"); var y = new String("John"); // (x == y) is false because x and y are different objects
Ten en cuenta la diferencia entre (x == y) y (x === y). Comparar dos objetos JavaScript siempre devolverá falso.