English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Un string es una secuencia de uno o más caracteres, que puede consistir en letras, números o símbolos.
Los strings en JavaScript son del tipo de datos primitivos y no mutables, lo que significa que son inmutables.
Las cadenas de caracteres de JavaScript están compuestas por cero o más caracteres entre comillas.
var x = "Tutoriales de JavaScript ";Prueba para ver‹/›
En JavaScript, puede elegirComilla simpleoComillas doblespara envolver cadenas. Ambos métodos funcionan correctamente:
var msg1 = "Hola mundo"; // Usar comillas dobles var msg2 = 'Hola mundo'; // Usar comillas simplesPrueba para ver‹/›
Puede usar comillas dentro de una cadena, siempre que no coincidan con las comillas que rodean la cadena:
var str1 = 'Ella dijo "Hey" y se fue'; // Las comillas dobles dentro de comillas simples var str2 = "Ella dijo 'Hey' y se fue"; // La comilla simple dentro de comillas dobles var str3 = "Vamos a tomar una taza de té"; // La comilla simple dentro de comillas dobles var str4 = `We\'ll never give up`; // usar la barra invertida para escapar la comilla simplePrueba para ver‹/›
El nuevo método más reciente para crear una cadena se llamaConstantes de plantilla (template literal).
La constante de plantilla (template literal) utiliza comillas invertidas (` `), que funciona de la misma manera que las cadenas regulares:
var x = `Esta cadena de caracteres utiliza comillas invertidas.`;Prueba para ver‹/›
lengthLa propiedad devuelve la longitud de la cadena de caracteres. Para una cadena vacía, la longitud es 0.
var str = 'Tutoriales de JavaScript '; str.length;// return 15Prueba para ver‹/›
Atención:El espacio también se considera un carácter.
La concatenación significa unir dos o más cadenas de caracteres para crear una nueva cadena.
+ El operador se utiliza para agregar (conectar) cadenas.
var str1 = "el zorro marrón rápido"; var str2 = "sobre el perro perezoso"; var str3 = "El " + str1 + " salta " + str2;Prueba para ver‹/›
constante de plantillaUna característica especial de la función es poder incluir expresiones y variables en una cadena. No es necesario usar concatenación, podemos usar la sintaxis ${} para insertar variables.
var str1 = "el zorro marrón rápido"; var str2 = "sobre el perro perezoso"; var str3 = `El ${str1} salta ${str2}.`;Prueba para ver‹/›
En este caso, el uso de constante de plantilla (template literal) podría ser más fácil de escribir y conveniente.
Debido a que las cadenas de caracteres deben estar entre comillas, lo siguiente dará error porque confundirá al navegador con el final de la cadena de caracteres:
var x = 'Nunca nos rendiremos'; var y = "Ella dijo "Hey" y se fue";
La secuencia de escape significa que las estamos operando para asegurarnos de que se reconozcan como texto y no como parte del código.
En JavaScript, logramos esto colocando un carácter \ en el frente del carácter.
Code | Resultado | Descripción |
---|---|---|
\' | ' | Comilla simple |
, | Comillas dobles | |
\\ | \ | Barra invertida |
Esta secuencia \' inserta una comilla simple en la cadena:
Esta secuencia \
var x = "She said \\Prueba para ver‹/›
Esta secuencia \\ inserta la barra invertida en la cadena:
var x = "The character \\ is called backslash";Prueba para ver‹/›
En JavaScript, hay otras seis secuencias de escape válidas:
Code | Descripción |
---|---|
\b | Tecla de retroceso |
\f | Página |
\n | Nueva línea |
\r | Retorno de carro |
\t | Tabulador horizontal |
\v | Tabulador vertical |
Las secuencias de escape también son útiles en situaciones donde no se pueden usar caracteres que se puedan ingresar con el teclado.
Para obtener la mejor legibilidad, se debe evitar que las líneas de código sean más largas de80 caracteres.
Si una declaración de JavaScript no cabe en una línea, el mejor lugar para romperla es después del operador:
document.getElementById("para").innerHTML = "The sum of 20 y 30 es " + sum;Prueba para ver‹/›
Escribir una cadena muy larga en una sola línea se volverá difícil de leer y usar rápidamente.
Operador de concatenación (+Para mostrar una cadena en múltiples líneas, podemos usar
var str = "La contaminación del aire es la entrada de sustancias químicas en " + "La atmósfera. Destruye el equilibrio ambiental y causa " + "Varias enfermedades.";Prueba para ver‹/›
Además de usar múltiples cadenas, también podemos usar el carácter de escape \.
var str = "La contaminación del aire es la entrada de sustancias químicas en \ La atmósfera. Destruye el equilibrio ambiental y causa \ Varias enfermedades.";Prueba para ver‹/›
Atención:El método mencionado (\) no es preferido, ya que puede causar problemas en ciertos navegadores y minificadores.
Para hacer que el código sea más legible, podemos cambiar aConstantes de plantilla (template literal)Cadenas. Esto elimina la necesidad de concatenar o escapar cadenas largas.
var str = `La contaminación del aire es la entrada de sustancias químicas en La atmósfera. Destruye el equilibrio ambiental y causa Varias enfermedades.`;Prueba para ver‹/›
Es importante saber todos los métodos para crear cadenas de múltiples líneas, ya que diferentes bibliotecas de código pueden usar varios estándares.
Por lo general, las cadenas de JavaScript se crean a partir de valores originales de texto:
var city = "New Delhi";
Pero, también se puede definir una cadena como objeto usando la palabra clave new:
var city = new String("New Delhi");
Para probar la diferencia entre ambos, inicializaremos un primitivo de cadena y un objeto de cadena.
var str1 = "New Delhi"; var str2 = new String("New Delhi"); typeof str1// devuelve cadena typeof str2// devuelve objetoPrueba para ver‹/›
Atención:No cree cadenas como objetos. Esto reducirá la velocidad de ejecución y puede producir algunos resultados inesperados.
Al usar el operador ==, las cadenas iguales son iguales:
var str1 = "New Delhi"; var str2 = new String("New Delhi"); document.write(str1 == str2); //Devuelve true, porque str1y str2de valores igualesPrueba para ver‹/›
Al usar el operador ===, las cadenas iguales no son iguales, porque el operador === espera valores y tipos iguales:
var str1 = "New Delhi"; var str2 = new String("New Delhi"); document.write(str1 === str2); //Devuelve false, porque str1y str2de tipos diferentesPrueba para ver‹/›
No se puede comparar el objeto:
var str1 = new String("New Delhi"); var str2 = new String("New Delhi"); document.write(str1 == str2); //Porque str1y str2Son objetos diferentes, por lo que devuelve false document.write(str1 === str2); //Porque str1y str2Son objetos diferentes, por lo que devuelve falsePrueba para ver‹/›
Atención (==) y (===) entre ellos. Comparar dos objetos JavaScript siempre devolverá false.