En las clases anteriores aprendimos a declarar variables, usar funciones y manipular el DOM.
Ahora damos un paso más: objetos, arreglos y JSON
son las estructuras que permiten organizar colecciones de datos, modelar entidades del mundo real
e intercambiar información con servidores y APIs.
Un objeto agrupa propiedades relacionadas bajo un mismo nombre. Un arreglo almacena listas ordenadas
de valores. JSON es un formato de texto estándar que combina ambos para enviar y recibir datos
entre sistemas.
Idea central: los objetos modelan entidades (un producto, un usuario, una venta);
los arreglos contienen colecciones de esas entidades; JSON serializa esas estructuras
para transferirlas entre aplicaciones.
2) Objetos
Un objeto en JavaScript es una colección de pares clave: valor.
Cada clave se llama propiedad. Los valores pueden ser cualquier tipo de dato:
texto, número, booleano, arreglo u otro objeto.
Hay dos formas de leer o modificar una propiedad:
con notación de punto o con notación de corchetes.
// Notación de punto console.log(producto.nombre); //
"Laptop" console.log(producto.precio); // 850
// Notación de
corchetes console.log(producto["disponible"]); // true
// Modificar una
propiedad producto.precio = 750; console.log(producto.precio); // 750
Métodos: funciones dentro de un
objeto
Cuando una función se guarda como propiedad de un objeto, se llama método.
Dentro del método se puede usar la palabra this para
acceder a otras propiedades del mismo objeto.
Usar this dentro de un método para acceder a las propiedades del mismo objeto.
Operación
Sintaxis
Ejemplo
Leer propiedad
objeto.propiedad
producto.nombre
Modificar propiedad
objeto.propiedad = valor
producto.precio = 700
Agregar propiedad
objeto.nuevaProp = valor
producto.stock = 10
Llamar método
objeto.metodo()
producto.descripcion()
3) Arreglos
Un arreglo (array) es una lista ordenada de valores. Cada posición
tiene un índice que comienza en 0. Los arreglos
pueden contener números, textos, objetos u otros arreglos.
JSON significa JavaScript Object Notation. Es un formato de texto
que se usa para almacenar y transferir datos. Su sintaxis se parece a un objeto de JavaScript,
pero tiene reglas estrictas: todas las claves deben ir entre comillas dobles y los valores
solo pueden ser texto, número, booleano, arreglo, objeto o null.
JSON.stringify() convierte un objeto o arreglo de JavaScript
en una cadena de texto con formato JSON. Se usa para guardar datos o enviarlos a un servidor.
JSON.parse() convierte una cadena de texto JSON en un objeto
o arreglo de JavaScript. Se usa cuando se reciben datos de un servidor o del almacenamiento local.
Regla práctica:stringify convierte un objeto en texto para salir
del programa. parse convierte texto en objeto para
entrar al programa.
Función
Entrada
Salida
Uso típico
JSON.stringify()
Objeto / Arreglo JS
Texto JSON
Guardar en localStorage, enviar a API
JSON.parse()
Texto JSON
Objeto / Arreglo JS
Leer de localStorage, procesar respuesta de API
5) Combinando objetos y arreglos
En la práctica, los datos casi siempre son arreglos de objetos: una lista de
productos, usuarios o pedidos donde cada elemento es un objeto con sus propias propiedades.
let total = 0; carrito.forEach(function (item)
{ total = total + (item.precio * item.cantidad); });
console.log("Total: $" +
total); // Total: $85
Qué practica este ejemplo
Recorrer un arreglo de objetos con forEach y acumular un valor calculado con propiedades del objeto.
Ejemplo 3: transformar datos de una API simulada
// Texto JSON recibido de un servidor const respuesta =
'[{"id":1,"nombre":"Ana","activo":true},{"id":2,"nombre":"Luis","activo":false}]';
// Convertir a
arreglo de objetos const usuarios = JSON.parse(respuesta);
// Filtrar solo los
activos const activos = usuarios.filter(function (u) { return u.activo ===
true; });
console.log(activos[0].nombre); // "Ana"
Qué practica este ejemplo
Simula el flujo real: recibir JSON como texto, parsearlo y procesar los datos con filter.
7) Laboratorio: mini sistema de estudiantes
Construye un pequeño sistema que guarde una lista de estudiantes como arreglo de objetos,
permita agregar nuevos registros y filtre por nota aprobatoria.
Paso 1
Declara un arreglo vacío let estudiantes = [];
Paso 2
Crea una función que construya un objeto con nombre y nota, y lo agregue al arreglo con push().
Paso 3
Usa filter() para obtener solo los que tienen nota mayor o igual
a 60.
Paso 4
Muestra los resultados en el DOM con textContent o innerHTML.
Solución sugerida
let estudiantes = [];
function agregarEstudiante() { const
nombre = document.querySelector("#labNombre").value.trim(); const nota =
Number(document.querySelector("#labNota").value);
if (nombre === "" || nota === 0)
{ document.querySelector("#mensajeLab").textContent = "Completa nombre y
nota."; return; }
estudiantes.push({
nombre: nombre, nota: nota }); document.querySelector("#mensajeLab").textContent
= nombre + " agregado. Total: " + estudiantes.length + "
estudiantes."; }
Colección de pares clave–valor. Modela una entidad con propiedades y métodos.
Arreglo [ ]
Lista ordenada de valores. Se accede por índice (comienza en 0).
push / pop
Agregan o eliminan elementos al final de un arreglo.
map / filter
Transforman o seleccionan elementos. Devuelven un nuevo arreglo sin modificar el original.
JSON.stringify
Convierte objeto o arreglo en texto JSON para guardar o enviar datos.
JSON.parse
Convierte texto JSON en objeto o arreglo para usarlo en el programa.
Recuerda: un arreglo de objetos es la estructura más común en desarrollo web.
Dominarla permite trabajar con APIs, bases de datos y cualquier fuente de datos real.