Uno de los tipos de datos más comunes que utilizan los programadores en el desarrollo de software son los valores de cadena o string values. Estas cadenas, a menudo, tienen características y comportamientos diferentes en todos los lenguajes; por ejemplo, en JavaScript, las cadenas (o strings) son tipos de datos primitivos, mientras que en Java las cadenas son objetos de clase.
A lo largo de esta publicación, te hablaremos sobre el objeto de JavaScript string y cómo usarlo. También aprenderás a comprender su comportamiento y sintaxis a través de ejemplos de código y explicaciones. Además, te mostraremos contenido de video para fortalecer tu comprensión de los conceptos básicos.
¿Qué es un string en JavaScript?
JavaScript es un lenguaje de programación orientado a objetos, lo que significa que casi todo en JavaScript en un objeto. Muchos de esos objetos tienen un tipo de datos que afecta la forma en que se pueden usar en el desarrollo de software. No obstante, los strings de JavaScript se consideran un tipo de datos primitivo, lo que significa que no son objetos.
Este hecho es crucial porque los tipos de datos primitivos no tienen métodos ni propiedades. Sin embargo, algunos objetos y clases ofrecen métodos que se pueden usar. Con eso en mente, será valioso para tus esfuerzos de programación comprender cómo funcionan y cómo interactuar con ellos. El siguiente video explica de forma básica como crear una string en JavaScript y cómo funciona.
Video de Zenva
A continuación, analizaremos la sintaxis de las declaraciones de cadenas para descubrir las formas en que puedes usarlas.
¿Cómo declarar una cadena o string en JavaScript?
Solo hay una sintaxis estándar para declarar una nueva cadena, pero hay sintaxis ligeramente diferentes que puedes usar. Analicemos eso a continuación con algunos ejemplos de cada uno.
Generalmente, las comillas indican que un valor de datos es una cadena, la cual puede verse en el fragmento de código siguiente:
let greeting = 'Hola';let greeting = "Doctor";
El ejemplo anterior muestra la sintaxis para declarar una cadena con comillas simples y la sintaxis para declarar con comillas dobles. El proceso es esencialmente el mismo de cualquier modo. Sin embargo, hay otras formas de crear cadenas.
El siguiente es el literal de plantilla de cadena, que usa el acento grave en lugar de comillas para declarar una cadena.
Literal de plantilla de cadena
Lo mejor de este enfoque es que hace que la declaración de cadenas sea más dinámica, especialmente cuando se combina con la interpolación. Puedes usar la interpolación con literales de plantilla para insertar valores en cadenas de forma dinámica.
Primero te mostraremos la sintaxis para usar un acento grave para crear un valor de cadena simple.
let name = `La Doctora`;
Si deseas crear una cadena utilizando datos condicionales o ingresados por el usuario, puedes usar la interpolación con los literales de tu plantilla.
let name = `La Doctora`;let message = `Hola, soy ${nombre}.`;/*${interpVar}*/
Con los literales de plantilla y la interpolación, las cadenas se vuelven aún más poderosas y robustas. Los literales de plantilla también facilitan anidar comillas dentro de una cadena y esto es útil cuando necesitas citar a alguien. Por ejemplo, en el desarrollo de videojuegos, esta es una práctica muy común.
Puedes ver este proceso en el fragmento de código que te compartimos como ejemplo, a continuación.
let message = `"Soy La Doctora." Ella dijo.`;
A continuación, analizaremos cómo puedes usar a menudo las cadenas en tu desarrollo de software.
Usos de cadenas
Como lo mencionamos anteriormente, las JavaScript strings son tipos de datos primitivos y no tienen métodos integrados. Los tipos de datos primitivos están destinados a ser simples, pero permiten a los desarrolladores crear estructuras de datos dinámicas, sólidas y potentes.
Las cadenas se utilizan con mayor frecuencia para registrar datos de entrada del usuario o mostrar información al usuario en función de algunas condiciones. Un ejemplo de esto es mostrar un mensaje a un usuario después de iniciar sesión en su software. Cuando un usuario intenta iniciar sesión, el software puede enviar un mensaje que indica si el inicio fue exitoso o no.
Además, es probable que realices una comparación de cadenas para la validación de inicio de sesión, como confirmar un nombre de usuario ingresado correctamente. Sin embargo, la diversión no termina ahí; es posible que debas convertir un valor que no sea una cadena por varias razones.
A continuación te mostramos cómo puedes convertir otros tipos de datos en cadenas.
Conversiones de cadenas
Convertir otros tipos de datos en cadenas resultará útil para muchas de tus necesidades de desarrollo de software. Como lo vimos anteriormente, hay muchas razones diferentes para usar cadenas y muchas formas de convertirlas para mostrar o validar valores. Además, convertir otros tipos de datos en cadenas puede ayudar con la validación, las comprobaciones de seguridad, etc.
Mediante un proceso de concatenación, básicamente puedes agregar una cadena a un valor y, en la mayoría de los casos, convertir el valor agregado en una cadena. Casi siempre, puedes ver que esto se hace con una cadena vacía; el fragmento de código a continuación muestra ese proceso.
let edad= 25;let ageStr = '' + edad;console.log(ageStr);
El proceso anterior describe la conversión de un valor numérico en un valor de cadena. A continuación, te enseñamos algunos ejemplos de JavaScript string utilizados de varias formas.
Ejemplo de string de JavaScript
Ahora ya has aprendido sobre la sintaxis de la declaración de cadenas y descubriste algunas formas de convertir tipos de datos en cadenas. Esta sección abordará ejemplos de diferentes valores de cadena para varios tipos de datos. También verás cómo realizar conversiones, comparaciones, acceder a caracteres de cadena y cadenas de formato previo para mostrar datos.
Valores de cadena
No importa con qué tipo de datos estés trabajando, los valores de cadena siguen siendo cadenas. Sin embargo, hay momentos en los que puedes esperar que un valor sea algo más que una cadena, y este no siempre es el caso.
Por ejemplo, cuando se trabaja con objetos, la forma en que se guardan los datos es ligeramente diferente. Esto se debe a que las claves de los objetos siempre se devuelven como cadenas, independientemente del tipo de valor que se utilice para crearlas. Veamos un ejemplo de código de un objeto de JavaScript a continuación para aclarar esto.
const doctorWho = { image: "doctorWho.jpg", name: "The Doctor", age: 1204, species: "Timelord", origin: "Gallifrey", region: `Kasterborous`};
El objeto anterior tiene varias claves y la práctica más común es usar valores de cadena para crear nombres de claves. A veces se usan números para crear nombres clave, aunque es menos común. En ese caso, puedes esperar un valor numérico, pero la verdad es que los valores de clave de objeto siempre se devuelven como cadenas.
console.log(Object.keys(doctorWho));
La línea de código anterior regresará todas las claves como valores de cadena.
Esto significa que acceder a las claves de este objeto siempre devolverá una cadena, incluso si el valor es un número. Este tipo de discrepancias pueden causar errores inesperados en tu software.
Los caracteres especiales están reservados para el formato de cadena y más. Como resultado, deberás escapar de ellos cuando los uses para asegurarte de que los valores de tu cadena sean los que esperas. Por ejemplo, si no escapas correctamente las comillas anidadas, la cadena terminará prematuramente y provocará errores.
Veamos un ejemplo de cómo hacer esto en el fragmento de código a continuación.
let introduction = 'I\'m The Doctor!';
En la cadena anterior, el valor se crea utilizando una comilla simple que entra en conflicto con la comilla simple utilizada en la contracción. Para escapar del carácter especial y resolver el conflicto, lo recomendable es usar una barra invertida.
Conversiones y comparaciones de cadenas
Comprender cómo convertir e incluso comparar valores de cadena será muy útil y te permitirá formas más sólidas de usar cadenas. La manera más común de convertir valores en una cadena es usar el método .toString(). Este toma un valor proporcionado y lo devuelve como un valor de cadena.
let age = 904;let ageStr = age.toString();
La línea de código anterior hace lo que cabría esperar: cambia el valor de edad, que se ingresa como un número, en una cadena. Esto puede facilitar el trabajo con valores que no son cadenas por varias razones.
La comparación de cadenas también es una práctica muy beneficiosa que quizá debas usar. Por ejemplo, en el caso del desarrollo de juegos, puedes utilizar comparaciones de cadenas para confirmar jugadores y puntajes. Otro ejemplo sería asegurarte de que un jugador ya está en el juego, evitando entradas duplicadas.
if(currPlayer == newPlayer){ console.log(“sorry that player already exists”)}
El código anterior muestra cómo podrías implementar una comparación de cadenas, asumiendo que los valores en ambas variables son cadenas. Debes examinar ambas cadenas para verificar primero que ambas sean cadenas, luego debes comparar sus valores. Esto es útil para garantizar nombres de usuario únicos para tu software, sin importar qué tipo de desarrollador seas.
Las comparaciones de cadenas se basan en el valor numérico de los caracteres de cadena dentro de las cadenas. El proceso de comparación distingue entre mayúsculas y minúsculas; las letras mayúsculas y minúsculas tienen valores diferentes.
Acceso a caracteres de cadena
En JavaScript, las cadenas se tratan como una colección de caracteres similar a las matrices; esto facilita la identificación de caracteres específicos dentro de una cadena. Este proceso es simple y altamente beneficioso para muchos propósitos diferentes. Algunos ejemplos de usos populares son: seguridad, rendimiento, validación de datos, etc.
Para acceder a los caracteres de una cadena, debes usar la notación tipo matriz, que emplea los corchetes para señalar los caracteres que deseas. Primero, veamos el proceso para acceder a caracteres de cadena individuales y cómo utilizarlo en tu código.
let introduction = "The Doctor";console.log(introduction[0]);
El código anterior devolverá un solo carácter de la base de la cadena en la ubicación del índice del carácter. En este caso, el carácter de cadena devuelto será el carácter del índice cero, el primer carácter.
Pasos siguientes para incorporar strings de JavaScript en tu software
Has aprendido mucho sobre este tema, y todavía hay mucho espacio para expandir y robustecer tu comprensión. En esta publicación, aprendiste sobre la sintaxis de declaración de cadenas, cómo declarar una cadena y algunos casos de uso. También descubriste las diversas formas fáciles de interactuar con las cadenas, cómo convertir otros tipos de datos y viste algunos ejemplos.
A medida que avanzas, hay muchas maneras de aprovechar este conocimiento; la mejor forma es practicar. Puedes usar tu entorno de desarrollo o uno similar para crear proyectos muestra que te permitan intentar usar cadenas de varias maneras. Por la profundidad y naturaleza robusta de estas cadenas, siempre habrá algo más que aprender.