En JavaScript, los strings, arrays y objetos son tipos de datos esenciales que te permiten trabajar con texto, colecciones de elementos y estructuras de datos más complejas, respectivamente.
1. Strings (Cadenas de Texto)
Un string representa una secuencia de uno o más caracteres (letras, números, símbolos). Se utilizan para manejar texto en JavaScript.
Cómo crearlos:
Puedes crear strings utilizando comillas simples ('...'
), comillas dobles ("..."
) o backticks (acento grave) (\
…“). Los backticks son especialmente útiles para la interpolación de variables.
let saludoSimple = 'Hola';
let saludoDoble = "Mundo";
// Interpolación con backticks
let saludoInterpolado = `¡${saludoSimple}, ${saludoDoble}!`;
console.log(saludoSimple); // Salida: Hola
console.log(saludoDoble); // Salida: Mundo
console.log(saludoInterpolado); // Salida: ¡Hola, Mundo!
Propiedades y Métodos Comunes:
Los strings en JavaScript son inmutables, lo que significa que los métodos no modifican el string original, sino que devuelven uno nuevo.
length
: Devuelve la longitud del string (número de caracteres).
let mensaje = "JavaScript";
console.log(mensaje.length); // Salida: 10
charAt(index)
: Devuelve el carácter en el índice especificado. El índice comienza desde 0
let lenguaje = "Python";
console.log(lenguaje.charAt(0)); // Salida: P
console.log(lenguaje.charAt(3)); // Salida: h
indexOf(substring)
: Devuelve el índice de la primera aparición de la subcadena especificada. Devuelve -1 si no se encuentra.
let texto = "Hola mundo";
console.log(texto.indexOf("mundo")); // Salida: 5
console.log(texto.indexOf("!")); // Salida: -1
slice(start, end)
: Extrae una sección del string y devuelve un nuevo string. El end
no es inclusivo.
let frase = "Desarrollo Web";
console.log(frase.slice(0, 10));
// Salida: Desarrollo
console.log(frase.slice(11));
// Salida: Web (desde el índice 11 hasta el final)
toUpperCase()
y toLowerCase()
: Devuelven un nuevo string con todos los caracteres en mayúsculas o minúsculas, respectivamente.
let textoOriginal = "Ejemplo";
console.log(textoOriginal.toUpperCase()); // Salida: EJEMPLO
console.log(textoOriginal.toLowerCase()); // Salida: ejemplo
split(separator)
: Divide el string en un array de substrings utilizando el separador especificado.
let numeros = [1, 2, 3, 4, 5];
let frutas = ['manzana', 'banana', 'naranja'];
let mixto = [1, 'hola', true, null];
let otroNumeros = new Array(10, 20, 30); // Menos común
console.log(numeros); // Salida: [1, 2, 3, 4, 5]
console.log(frutas); // Salida: ['manzana', 'banana', 'naranja']
console.log(mixto); // Salida: [1, 'hola', true, null]
console.log(otroNumeros); // Salida: [10, 20, 30]
2. Arrays (Arreglos o Listas)
Un array es una colección ordenada de elementos. Estos elementos pueden ser de cualquier tipo de dato (números, strings, booleanos, otros arrays, objetos, etc.).
Cómo crearlos:
Puedes crear arrays utilizando literales de array ([...]
) o el constructor Array()
.
let numeros = [1, 2, 3, 4, 5];
let frutas = ['manzana', 'banana', 'naranja'];
let mixto = [1, 'hola', true, null];
let otroNumeros = new Array(10, 20, 30); // Menos común
console.log(numeros); // Salida: [1, 2, 3, 4, 5]
console.log(frutas); // Salida: ['manzana', 'banana', 'naranja']
console.log(mixto); // Salida: [1, 'hola', true, null]
console.log(otroNumeros); // Salida: [10, 20, 30]
Propiedades y Métodos Comunes:
length
: Devuelve el número de elementos en el array.
let colores = ['rojo', 'verde', 'azul'];
console.log(colores.length); // Salida: 3
Acceso a elementos por índice: Los elementos se acceden utilizando su índice, que comienza desde 0.
let animales = ['perro', 'gato', 'pájaro'];
console.log(animales[0]); // Salida: perro
console.log(animales[2]); // Salida: pájaro
push(elemento)
: Añade uno o más elementos al final del array y devuelve la nueva longitud.
let lenguajes = ['JavaScript', 'Python'];
lenguajes.push('Java');
console.log(lenguajes); // Salida: ['JavaScript', 'Python', 'Java']
pop()
: Elimina el último elemento del array y lo devuelve. Modifica el array original
let ciudades = ['Londres', 'París', 'Roma'];
let ultimaCiudad = ciudades.pop();
console.log(ciudades);
// Salida: ['Londres', 'París']
console.log(ultimaCiudad);
// Salida: Roma
shift()
: Elimina el primer elemento del array y lo devuelve. Modifica el array original.
let tareasPendientes = ['Comprar', 'Estudiar', 'Correr'];
let primeraTarea = tareasPendientes.shift();
console.log(tareasPendientes); // Salida: ['Estudiar', 'Correr']
console.log(primeraTarea); // Salida: Comprar
unshift(elemento)
: Añade uno o más elementos al principio del array y devuelve la nueva longitud.
let numerosInicio = [2, 3];
numerosInicio.unshift(0, 1);
console.log(numerosInicio); // Salida: [0, 1, 2, 3]
slice(start, end)
: Extrae una sección del array y devuelve un nuevo array. El end
no es inclusivo. (Similar al método de strings).
let partes = [10, 20, 30, 40, 50];
let subParte = partes.slice(1, 4);
console.log(subParte); // Salida: [20, 30, 40]
splice(start, deleteCount, ...items)
: Cambia el contenido de un array eliminando o reemplazando elementos existentes y/o agregando nuevos elementos en su lugar. Modifica el array original.
let nombres2 = ['Carlos', 'Maria', 'Elena'];
nombres2.splice(1, 1, 'Sofia', 'Pedro');
// Elimina 'Maria' y añade 'Sofia' y 'Pedro'
console.log(nombres2);
// Salida: ['Carlos', 'Sofia', 'Pedro', 'Elena']
concat(array2, ...)
: Combina el array actual con otros arrays y/o valores para crear un nuevo array.
let arr1 = [1, 2];
let arr2 = [3, 4];
let combinado = arr1.concat(arr2, 5, 6);
console.log(combinado); // Salida: [1, 2, 3, 4, 5, 6]
join(separator)
: Une todos los elementos de un array en un string, utilizando el separador especificado.
let palabras = ['Esto', 'es', 'un', 'array'];
let fraseCompleta = palabras.join(' ');
console.log(fraseCompleta); // Salida: Esto es un array
3. Objetos
Un objeto es una colección de propiedades, donde cada propiedad tiene un nombre (clave) y un valor. Los objetos son fundamentales para representar entidades con atributos y comportamientos en JavaScript.
Cómo crearlos:
Puedes crear objetos utilizando literales de objeto ({}
) o el constructor Object()
. El literal de objeto es la forma más común.
let persona = {
nombre: 'Juan',
edad: 30,
ciudad: 'Buenos Aires'
};
let coche = new Object();
coche.marca = 'Toyota';
coche.modelo = 'Corolla';
coche.año = 2023;
console.log(persona);
// Salida: { nombre: 'Juan', edad: 30, ciudad: 'Buenos Aires' }
console.log(coche);
// Salida: { marca: 'Toyota', modelo: 'Corolla', año: 2023 }
Acceso a Propiedades:
Puedes acceder a las propiedades de un objeto utilizando la notación de punto (.
) o la notación de corchetes ([]
). La notación de corchetes es útil cuando el nombre de la propiedad es una cadena con espacios o proviene de una variable.
console.log(persona.nombre); // Salida: Juan
console.log(persona['edad']); // Salida: 30
let propiedad = 'ciudad';
console.log(persona[propiedad]); // Salida: Buenos Aires
Añadir, Modificar y Eliminar Propiedades:
Añadir: Simplemente asigna un valor a una nueva propiedad.
persona.profesion = 'Ingeniero';
console.log(persona);
// Salida: { nombre: 'Juan', edad: 30, ciudad: 'Buenos Aires', profesion: 'Ingeniero' }
Modificar: Asigna un nuevo valor a una propiedad existente.
persona.edad = 31;
console.log(persona);
// Salida: { nombre: 'Juan', edad: 31, ciudad: 'Buenos Aires', profesion: 'Ingeniero' }
Eliminar: Utiliza el operador delete
.
delete persona.ciudad;
console.log(persona);
// Salida: { nombre: 'Juan', edad: 31, profesion: 'Ingeniero' }
Métodos en Objetos:
Los objetos también pueden contener funciones como valores de sus propiedades. Estas funciones se llaman métodos.
let estudiante = {
nombre: 'Ana',
grado: 'Secundaria',
saludar: function() {
console.log(`Hola, soy ${this.nombre} y estoy en ${this.grado}.`);
}
};
estudiante.saludar();
// Salida: Hola, soy Ana y estoy en Secundaria.
Iterar sobre Objetos:
Puedes iterar sobre las propiedades de un objeto utilizando bucles como for...in
.
let libro = {
titulo: 'El Señor de los Anillos',
autor: 'J.R.R. Tolkien',
año: 1954
};
for (let clave in libro) {
if (libro.hasOwnProperty(clave)) {
// Importante para evitar herencias del prototipo
console.log(`${clave}: ${libro[clave]}`);
}
}
// Salida:
// titulo: El Señor de los Anillos
// autor: J.R.R. Tolkien
// año: 1954