Skip to content

Latest commit

 

History

History
82 lines (51 loc) · 4.16 KB

File metadata and controls

82 lines (51 loc) · 4.16 KB

Módulo 4 - Estructuras de datos II

Contenido

Objetos

En este módulo estudiamos uno de los componentes más importantes de Javascript: los objetos. Object es el único dato compuesto del lenguaje y de él derivan directamente gran parte del resto de conceptos: listas, clases, errores, etc.

Lo primero que es importante entender es que la igualdad entre objetos funciona por referencia. Es decir, estos dos objetos no son iguales:

const obj1 = { Homer: "Simpson" };
const obj2 = { Homer: "Simpson" };

console.log(obj1 === obj2); // false

Exploramos las consecuencias de este modelo en los ejercicios y aprovechamos para analizar que opciones nativas tenemos para recorrer objetos. Vistos los métodos nativos, implementamos algunos métodos propios para aumentar nuestro abanico de métodos para recorrer objetos:

  • mapValues, mapKeys,
Recursos

Object.assign y destructuring

Estudiarmos este método para fusionar objetos en profundidad y aprovecharemos para repasar algunos de los retos que introduce la recursividad con objetos. Crearemos nuestras propias funciones de utilidad para clonar, fusionar y modificar objetos respetando las referencias.

  • traverse, clone, cloneDeep, mergeDeep

Introducimos el concepto de la desestructuración en el módulo de listas. Veremos que esta herramienta, junto con spread, también nos sirve para manipular objetos.

Recursos

Contexto

Para entender completamente cómo funcionan los objetos y que posibilidades nos permiten es necesario estudiar como funciona el contexto y la palabra reservada this. En esta sección exploramos qué es y como podemos manipularlo utilizando funciones nativas como call, apply y bind.

Recursos

Object.defineProperty

defineProperty nos permite tener mucho más control sobre el comportamiento de nuestros objetos. Configurando sus propiedades podemos:

  • controlar si las propiedades son visibles (enumerables)
  • si las propiedades pueden ser modificadas
  • si estas reglas pueden o no ser redefinidas

Introducimos también el concepto de los getters y los setters. Herramientas que podemos utilizar para modificar como se comporta la escritura y la lectura de objetos.

Recursos

Prototipos

Finalmente, repasamos cómo funciona el sistema de prototipos para entender de qué forma se implementa la orientación a objetos en Javascript.

Recursos