Estructuras de Datos en JavaScript

Muchas veces no le damos la importancia que estas merecen y estamos más preocupados o invertimos más tiempo aprendiendo y creando aplicaciones en el framework más popular. Este es el artículo 1 de 5.

Ciencias de la Computación 101

¿Qué son las estructuras de datos y por qué son importantes?

Las estructuras de datos son una forma de organizar la información que es almacenada en una computadora o en una base datos. Hay diferentes tipos de estructuras de datos y cada tipo de estructura de datos representa una manera diferente de organizar la información.

¿Por qué hay diferentes tipos de estructuras de datos?

Tal vez te preguntarás por que no usamos la misma estructura para todas nuestras cosas, bueno, cada estructura de datos tiene sus fortalezas y debilidades, por ejemplo algunas estructuras de datos son muy rápidas almacenando y guardando datos pero tal vez lentas buscando a través de esta y regresándola, otras estructuras son lo opuesto, son muy rápidas buscando y regresando los datos.

¿Pero ….por qué es importante saber esto?

Son varias las razones, la más importante es que usar las estructuras de datos adecuadas en nuestros proyectos puede tener un gran impacto en la velocidad, eficiencia, y ejecución de nuestros programas.

La entrevista técnica

Si de casualidad están aplicando a una entrevista técnica de trabajo, en muchos lados les van a pedir implementar en código este tipo de estructuras para demostrar que tienen sólidas bases en ciencias de la computación por que probablemente van a estar lidiando con estos temas regularmente.

El Constructor y la palabra This.

Antes de entrar en nuestra primera estructura de datos, debemos dominar estos dos conceptos, vamos a usar la consola de Google, para abrir la consola de Google Chrome oprimimos al mismo tiempo la combinación de teclas Ctrl + Mayús + J si estas en Windows o Linux, Cmd + Opt + J si estas estas en Mac, si no, vayan a donde están los 3 puntos en la esquina superior derecha, despliega el menu contextual, ahi seleccionen Mas Herramientas (More Tools, si lo tienes en en inglés como yo) y finalmente Herramientas Desarrollador (Developer tools) , como se muestra en la siguiente imagen.

Un Abrimos la consola de Chrome
El constructor Usuario recibe 4 parámetros, nombre , apellido, edad y genero.

Contexto Global

En un contexto de ejecución global (afuera de cualquier función), this se refiere al objeto global ya sea en modo estricto o no.

//En los navegadores web, el objeto window es también el objeto global
console.log(this === window); // true

a = 37;
console.log(window.a); // 37

this.b = "MDN";
console.log(window.b) // "MDN"
console.log(b) // "MDN"

Contexto en función

Dentro de una función, el valor this depende de como la función es llamada.

function f1() {
return this;
}

// En el navegador:
f1() === window; // true

// En Node:
f1() === global; // true
function f2() {
'use strict'; // modo estricto
return this;
}

f2() === undefined; // true

The Prototype Object

El objeto prototipo es simplemente un objeto que otros multiples objetos pueden referir para obtener información o funcionalidad que necesiten.

El Objeto prototype, estableciendo una propiedad
El Objeto prototype, estableciendo un método.

Anexos

Para mayor referencia pueden revisar la documentación de Mozilla.

Cheerleader in chief for KMMX, RPA Enthusiast, DevOps, Technical Writer & International Speaker, Dad & 2 cats.

Cheerleader in chief for KMMX, RPA Enthusiast, DevOps, Technical Writer & International Speaker, Dad & 2 cats.