=============================================================================
===
JAVASCRIPT - ESENCIALES BÁSICOS
=============================================================================
===
¿Qué es JavaScript?
JavaScript es un lenguaje de programación interpretado, orientado a objetos y débilmente
tipado. Es el lenguaje nativo de los navegadores web y también se usa en servidores con
[Link]. Fue creado por Brendan Eich en 1995.
Dónde se ejecuta:
- Navegadores (Chrome, Firefox, Edge, Safari)
- Servidores ([Link], Deno, Bun)
- Aplicaciones móviles (React Native)
- Bases de datos (MongoDB)
Características principales:
- Lenguaje de scripting orientado a eventos
- Tipado débil y dinámico
- Soporta programación funcional y orientada a objetos
- Manejo asíncrono con promesas y async/await
=============================================================================
===
VARIABLES Y TIPOS DE DATOS
Declaración de variables (3 formas):
var nombre = "Ana" // Antiguo, evitar usar
let edad = 25 // Moderno, ámbito de bloque
const PI = 3.1416 // Constante, no se puede reasignar
Diferencias:
let -> se puede reasignar, ámbito de bloque {}
const -> NO se puede reasignar, ámbito de bloque {}
var -> se puede reasignar, ámbito de función (evitar)
Tipos de datos primitivos:
let texto = "Hola mundo" // string
let numero = 42 // number
let decimal = 3.14 // number
let esVerdad = true // boolean
let nada = null // null (valor vacío intencional)
let indefinido = undefined // undefined (no asignado)
Tipo dinámico (puede cambiar):
let dato = 10 // number
dato = "ahora texto" // string (permitido)
Template literals (cadenas con variables):
let nombre = "Luis"
let saludo = `Hola ${nombre}, ¿cómo estás?`
[Link](saludo) // Hola Luis, ¿cómo estás?
Conversión de tipos:
let str = "123"
let num = Number(str) // 123
let flotante = parseFloat("3.14") // 3.14
let entero = parseInt("10.9") // 10
let texto2 = String(456) // "456"
=============================================================================
===
CONTROL DE FLUJO
Condicional if / else if / else:
let edad = 18
if (edad < 12) {
[Link]("Niño")
} else if (edad < 18) {
[Link]("Adolescente")
} else {
[Link]("Adulto")
Switch:
let dia = 3
let nombreDia
switch(dia) {
case 1:
nombreDia = "Lunes"
break
case 2:
nombreDia = "Martes"
break
case 3:
nombreDia = "Miércoles"
break
default:
nombreDia = "Día inválido"
}
[Link](nombreDia) // Miércoles
Operador ternario (condensado):
let edad = 20
let mensaje = (edad >= 18) ? "Mayor de edad" : "Menor de edad"
[Link](mensaje) // Mayor de edad
Bucle for clásico:
for (let i = 0; i < 5; i++) {
[Link](i) // 0,1,2,3,4
Bucle while:
let contador = 0
while (contador < 3) {
[Link](contador)
contador++
Bucle do...while (ejecuta al menos una vez):
let x = 10
do {
[Link]("Se ejecuta una vez")
} while (x < 5)
Bucle for...of (para arrays):
let frutas = ["manzana", "pera", "plátano"]
for (let fruta of frutas) {
[Link](fruta)
}
break y continue:
for (let i = 0; i < 5; i++) {
if (i === 2) continue // Salta el 2
if (i === 4) break // Termina en 4
[Link](i) // 0,1,3
=============================================================================
===
ARRAYS Y OBJETOS
Arrays (estructuras indexadas):
let numeros = [1, 2, 3, 4, 5]
let mixto = [1, "texto", true, null]
[Link](numeros[0]) // 1
[Link](numeros[2]) // 3
Métodos básicos:
[Link](6) // Agrega al final
[Link]() // Elimina el último
[Link](0) // Agrega al inicio
[Link]() // Elimina el primero
[Link]([Link]) // Longitud
Recorrer con forEach:
[Link](function(num) {
[Link](num)
})
Métodos funcionales:
let dobles = [Link](n => n * 2) // Transforma
let pares = [Link](n => n % 2 === 0) // Filtra
let suma = [Link]((acum, actual) => acum + actual, 0) // Acumula
Objetos (estructuras clave-valor):
let persona = {
nombre: "Ana",
edad: 28,
ciudad: "Madrid",
saludar: function() {
return `Hola, soy ${[Link]}`
Acceso a propiedades:
[Link]([Link]) // Ana (notación de punto)
[Link](persona["edad"]) // 28 (notación de corchete)
Agregar/modificar propiedades:
[Link] = "ana@[Link]"
[Link] = 29
Eliminar propiedades:
delete [Link]
Recorrer propiedades:
for (let clave in persona) {
[Link](`${clave}: ${persona[clave]}`)
}
=============================================================================
===
FUNCIONES Y EVENTOS BÁSICOS
Declaración de funciones:
// Función declarada
function sumar(a, b) {
return a + b
// Función expresada
let restar = function(a, b) {
return a - b
// Arrow function (moderna)
let multiplicar = (a, b) => a * b
let saludar = nombre => `Hola ${nombre}`
[Link](sumar(3, 5)) // 8
[Link](restar(10, 4)) // 6
[Link](multiplicar(2, 6)) // 12
Parámetros y valores por defecto:
function saludar(nombre = "Invitado") {
return `Hola ${nombre}`
[Link](saludar()) // Hola Invitado
[Link](saludar("Ana")) // Hola Ana
Manipulación básica del DOM (en navegador):
// Seleccionar elemento
let titulo = [Link]("miTitulo")
// Cambiar texto
[Link] = "Nuevo texto"
// Cambiar estilo
[Link] = "red"
Evento click:
let boton = [Link]("miBoton")
[Link]("click", function() {
alert("¡Hiciste click!")
})
Ejemplo práctico (suma de números):
function sumarArray(numeros) {
let total = 0
for (let i = 0; i < [Link]; i++) {
total += numeros[i]
return total
[Link](sumarArray([1,2,3,4,5])) // 15
=============================================================================
===
FIN DEL DOCUMENTO JAVASCRIPT
=============================================================================
===