Javascript
Javascript
S3. JavaScript
SUMARIO
2.1 Introducción
2.1.1 ¿Qué es JavaScript?
2.1.2 Historia y evolución de JavaScript
2.1.3 Rol de JavaScript en el desarrollo web
2.2 Sintaxis Básica y Estructura
2.2.1 Variables y tipos de datos
2.2.2 Operadores
2.2.3 Comentarios en JavaScript
2.3 Estructuras de Control
2.3.1 Sentencias condicionales
2.3.2 Bucles
2.4 Funciones
2.4.1 Definición de funciones
2.4.2 Parámetros y argumentos
S3. JavaScript 1
2.4.3 Valores de retorno
2.4.4 Funciones anónimas y funciones flecha
2.4.5 Callbacks y funciones de orden superior
2.5 Objetos
2.5.1 Conceptos básicos de objetos
2.5.2 Métodos Avanzados y Utilidades de Objetos
2.6 Arrays en JavaScript
2.6.1 Conceptos Básicos
2.6.2 Métodos y Propiedades de Arrays
2.6.3 Manipulación de Arrays
2.6.4 Arrays Multidimensionales
2.7 Uso Conjunto de Arrays y Objetos
2.7.1 Iterando Objetos con Métodos de Arrays
2.7.2 Manipulación de Datos en Formato JSON
2.1 Introducción
2.1.1 ¿Qué es JavaScript?
JavaScript es un lenguaje de programación de alto nivel, orientado a objetos,
interpretado y dinámico. Originalmente fue diseñado para añadir interactividad a
las páginas web, pero ha evolucionado a lo largo de los años para convertirse en
una pieza fundamental del desarrollo web moderno, con aplicaciones que van
más allá del navegador, como servidores, aplicaciones móviles y de escritorio, e
incluso en hardware y robótica.
S3. JavaScript 2
JavaScript no tiene relación directa con Java, a pesar de algunas similitudes
sintácticas.
1996-1997: Microsoft lanza JScript para Internet Explorer, una especie de clon
de JavaScript. Por la necesidad de estandarizar el lenguaje, Netscape lleva
JavaScript a ECMA International, lo que lleva al nacimiento de ECMAScript
(ES).
S3. JavaScript 3
desarrollo web full-stack con un único lenguaje.
S3. JavaScript 4
const: También introducido en ES6, es similar a let pero, como su nombre
indica, se utiliza para valores que no deben ser reasignados.
Primitivos:
Compuestos:
2.2.2 Operadores
Los operadores en JavaScript son símbolos que llevan a cabo operaciones en uno
o más operandos y producen un resultado. Los más comunes son:
S3. JavaScript 5
Comparación: == (igual a), === (valor y tipo igual a), != (no igual a), !==
Asignación: = , += , = , = , /= , %= .
💡 Tips: El uso excesivo de operadores ternarios en una sola línea puede hacer
que el código sea difícil de leer. Si la lógica se complica, es mejor considerar usar
estructuras condicionales como if y else .
Comentarios de una sola línea: Se inician con // . Todo lo que sigue a estos
dos caracteres en la misma línea será considerado un comentario.
/*
Este es un comentario
S3. JavaScript 6
que abarca varias líneas
*/
🔍 Good to Know: Los comentarios también pueden ser útiles para "deshabilitar"
temporalmente ciertas partes del código durante la depuración, sin tener que
eliminarlas. Sin embargo, antes de lanzar o publicar tu código, es recomendable
limpiarlo de comentarios innecesarios o de código "deshabilitado".
💡 Tips: No solamente comentes qué hace el código, sino por qué lo hace. A
veces, el propósito de un fragmento de código no es inmediatamente claro, y
entender el "por qué" puede ser crucial para otros desarrolladores (¡o para ti
mismo en el futuro!).
if (condición) {
// Código a ejecutar si la condición es verdadera
}
S3. JavaScript 7
if (condición1) {
// Código a ejecutar si la condición1 es verdadera
} else if (condición2) {
// Código a ejecutar si la condición2 es verdadera
}
if (condición1) {
// Código si la condición1 es verdadera
} else {
// Código si ninguna condición anterior es verdadera
}
switch (expresión) {
case valor1:
// Código a ejecutar si expresión es igual a valor
1
break;
case valor2:
// Código a ejecutar si expresión es igual a valor
2
break;
default:
// Código a ejecutar si ninguna condición anterior
es verdadera
}
2.3.2 Bucles
Los bucles permiten repetir bloques de código mientras se cumpla una condición
o un número determinado de veces.
S3. JavaScript 8
for: Ejecuta un bloque de código un número específico de veces. Tiene tres
partes: inicialización, condición y actualización.
while (condición) {
// Código a ejecutar mientras la condición sea verdade
ra
}
do {
// Código a ejecutar
} while (condición);
2.4 Funciones
Las funciones son bloques de código reutilizables diseñados para realizar una
tarea específica. Son fundamentales en programación, ya que permiten
modularizar y organizar el código, además de hacerlo más legible y mantenible.
S3. JavaScript 9
Una función en JavaScript se define con la palabra clave function , seguida por un
nombre y un conjunto de paréntesis () .
function nombreDeLaFuncion() {
// Código a ejecutar
}
nombreDeLaFuncion();
function sumar(a, b) {
return a + b;
}
S3. JavaScript 10
2.4.4 Funciones anónimas y funciones flecha
Funciones anónimas: Son funciones sin nombre. A menudo se utilizan como
argumento de funciones de orden superior o en asignaciones.
Funciones flecha: Introducidas en ES6, permiten una sintaxis más breve para
escribir funciones. Son especialmente útiles para funciones cortas.
function procesar(callback) {
// Código de procesamiento
callback();
}
procesar(function() {
console.log("Proceso terminado!");
});
Funciones de orden superior: Son funciones que toman una o más funciones
como argumentos, o que devuelven una función. Una función de orden
superior común en JavaScript es la función map , que procesa cada elemento
de un array utilizando una función proporcionada.
S3. JavaScript 11
return num * 2;
});
2.5 Objetos
Los objetos permiten organizar los datos en pares clave-valor. Son
extremadamente versátiles y forman la base de estructuras de datos más
avanzadas y de la programación orientada a objetos en JavaScript, junto con los
arrays.
let coche = {
marca: "Toyota",
modelo: "Corolla",
año: 2020
};
S3. JavaScript 12
Para añadir o modificar propiedades:
delete persona.ocupacion;
let coche = {
marca: "Toyota",
encender: function() {
console.log("El coche está encendido");
}
};
S3. JavaScript 13
2.5.2 Métodos Avanzados y Utilidades de Objetos
JavaScript proporciona una serie de métodos estáticos a través del objeto global
Object que permiten realizar diversas operaciones con objetos.
console.log(Object.values(persona));
console.log(Object.entries(persona));
💡 Consejo: Cuando trabajas con objetos, es útil familiarizarte con los métodos
estáticos que proporciona el objeto Object , ya que ofrecen herramientas
poderosas para manipular y trabajar con estructuras de objetos. Además, el uso
adecuado de getters y setters puede ayudarte a escribir código más robusto y
mantener la integridad de los datos.
S3. JavaScript 14
2.6.1 Conceptos Básicos
Creación y declaración de arrays:
Los arrays se pueden crear utilizando corchetes
[] y pueden almacenar cualquier tipo de valor.
console.log(numeros.length); // Devuelve 5
Métodos básicos:
numeros.push(6);
numeros.pop();
frutas.shift();
S3. JavaScript 15
frutas.unshift("uva");
// .forEach(callback)
frutas.forEach(fruta => console.log(fruta));
para cada elemento del array. Con un map, transformamos los elementos
que contiene el array.
// .map(callback)
let cuadrados = numeros.map(num => num * num);
prueba proporcionada.
// .find(callback)
let manzana = frutas.find(fruta => fruta === "manzan
a");
: Crea un nuevo array con todos los elementos que cumplan con
.filter()
la función de prueba.
// .filter(callback)
let frutasConM = frutas.filter(fruta => fruta[0] ===
"m");
S3. JavaScript 16
//.indexOf(elemento)
let indice = frutas.indexOf("plátano");
// .sort([compareFunction])
frutas.sort();
numeros.reverse();
Ejemplo:
S3. JavaScript 17
console.log(frutas); // ["Manzana", "banana", "mango"]
añadiendo elementos.
//.slice([begin[, end]])
let algunasFrutas = frutas.slice(1, 3);
Concatenación de arrays:
S3. JavaScript 18
let comida = frutas.concat(verduras);
Transformación de arrays:
//.join([separador])
let cadenaFrutas = frutas.join(", ");
let matriz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matriz[0][1]); // Devuelve 2
S3. JavaScript 19
matriz[1][2] = 10; // Modifica el valor en la segunda fil
a y tercera columna a 10
Puedes usar loops anidados para iterar a través de todos los elementos de un
array multidimensional.
matriz.forEach(fila => {
fila.forEach(valor => {
console.log(valor);
});
});
let dobleMatriz = matriz.map(fila => fila.map(num => num *
2));
let personas = [
{ nombre: "Juan", edad: 30 },
{ nombre: "Ana", edad: 25 },
S3. JavaScript 20
{ nombre: "Luis", edad: 35 }
];
.map(): Crea un nuevo array con los resultados de aplicar una función a
cada elemento del array original.
.filter(): Crea un nuevo array con todos los elementos que cumplan la
condición especificada.
S3. JavaScript 21
JSON es un formato de texto estándar para representar estructuras de datos
basadas en la notación de objetos de JavaScript. Es comúnmente utilizado para
transmitir datos en aplicaciones web ya que es fácil de leer y escribir para
humanos, y fácil de generar y analizar para máquinas.
{
"nombre": "Alice",
"edad": 25,
"hobbies": ["leer", "correr"]
}
S3. JavaScript 22
let jsonPersonas = '[{"nombre": "Juan", "edad": 30}, {"nom
bre": "Ana", "edad": 25}]';
let listaPersonas = JSON.parse(jsonPersonas);
console.log(listaPersonas[0].nombre); // "Juan"
Del mismo modo, puedes convertir un array de objetos a una cadena JSON:
S3. JavaScript 23