Entender la logica JS
Y llego JavaScript, un mes duro.

Fecha de Publicación

Seguimos con el repaso del Bootcamp que recién terminé en HACK A BOSS. Después de HTML y CSS, llegó la parte que más «respeto» me daba: JavaScript.

Desafíos y Aprendizajes en JavaScript

Esta parte del curso duró prácticamente un mes y concluyó con un ejercicio conjunto con compañeros como práctica del primer bloque. Seguimos con Juan Vigario como profesor, y creo que una de las cosas que definen a los tutores que he tenido la suerte de tener es la pasión. Personalmente, les estoy muy agradecido por todo lo que me han aportado, y estoy seguro de que el resto de mis compañeros también lo están.

El mayor problema que encontré con JavaScript fue que entendía la mayor parte de la lógica, pero la sintaxis… la sintaxis me resultaba complicada. Entiendo que es cuestión de muchas horas, pero al principio me era imposible acordarme de todo y cómo se debía escribir todo.

Zoe Porta, la persona encargada de las tutorías y de la revisión de ejercicios, nos dio la clave: «No os vais a acordar de todo, pero con el tiempo y la práctica os saldrá de manera natural. Y para lo demás, la santa y sagrada documentación«. Aunque ella parecía no necesitar la documentación, tenía todo más que controlado.

Comenzamos con los conceptos básicos, como la estructura léxica y el debugging. Aprender cómo escribir y estructurar el código correctamente fue como aprender las reglas gramaticales de un nuevo «idioma». Al final, se trata de pensar, entender y escribir en otro idioma.

Poco a poco, íbamos avanzando, a veces con sonrisas y otras veces preguntándome hasta dónde podría lanzar el teclado por la ventana. (Spoiler: No lo lancé).

Nos íbamos adentrando en el fango: que si ‘use strict’ por aquí, que var, let y const no son iguales, que hay que entender cuándo y cómo usarlos (ten muy claro esto).

Sin apenas darnos cuenta, comenzábamos a entender la lógica y la forma de abordar los problemas. Hay que ir deshaciendo el «gran nudo» paso a paso, y en esto nos presentaron a nuestros amigos String, Number, Boolean, Null y Undefined. Aquí dejo una breve explicación de ellos:

  • String: Es una cadena de caracteres, utilizada para representar texto. Se escribe entre comillas simples (‘ ‘), dobles (» «) o acentos graves («).
  • Number: Representa valores numéricos, incluyendo enteros y decimales.
  • Boolean: Representa un valor lógico y solo puede ser ‘true’ o ‘false’.
  • Null: Es un valor especial que indica la ausencia intencional de cualquier objeto o valor.
  • Undefined: Significa que una variable ha sido declarada pero aún no se le ha asignado ningún valor.

También nos sumergimos en el uso de condicionales como if, else y switch para controlar el flujo del programa. Uno de los conceptos más interesantes fue la conversión de tipos, comprendiendo cómo y cuándo JavaScript convierte automáticamente los tipos y cómo podemos hacerlo manualmente cuando sea necesario.

Llegado a este punto, ya no sabía si amaba a JavaScript o lo odiaba. Había días en los que me creía Mr. Robot y otros en los que me sentía más torpe que mi padre intentando grabar una película con el video.

Aun así, seguíamos adelante, guiados por nuestros profes. A lo lejos ya veíamos que nos esperaban los arrays. Aprendimos a declarar funciones y cómo modularizarlas y reutilizar código. Aquí presento a unos clásicos:

Map: Crea un nuevo array a partir de un array existente, aplicando una función a cada uno de sus elementos.

const numeros = [1, 2, 3, 4];
const numerosDobles = numeros.map(num => num * 2);
console.log(numerosDobles); // [2, 4, 6, 8]

Filter: Crea un nuevo array con todos los elementos que pasen una condición específica.

const numeros = [1, 2, 3, 4];
const numerosPares = numeros.filter(num => num % 2 === 0);
console.log(numerosPares); // [2, 4]

Reduce: Aplica una función a un acumulador y a cada elemento del array (de izquierda a derecha) para reducirlo a un solo valor.

const numeros = [1, 2, 3, 4];
const sumaTotal = numeros.reduce((acumulador, num) => acumulador + num, 0);
console.log(sumaTotal); // 10

Y luego llegó el plato fuerte: callbacks y la asincronía. ¡Fiesta!
Aqui poco a poco nadas entre que no sabes nada y vas entendiendo, dicen que eso es bueno.
Gracias a Juan y Zoe, salimos vivos de esta parte.

Todo esto nos estaba preparando para entender mejor el código, ya que la siguiente parte sería muy complicada: async/await. Estas herramientas son fundamentales para ordenar y reutilizar las herramientas de nuestro «taller».

Trabajo en equipo (donde más se aprende)

Finalmente, tuvimos una práctica conjunta que consolidó todo lo que habíamos aprendido. Trabajé en equipo con mis compañeros Juan y Gloria (no tengo palabras de agradecimeinto hacia ellos, por toda su implicación, mil gracias aprendi mucho de vosotros) para desarrollar un juego de preguntas y respuestas.

Fue una experiencia increíble y enriquecedora.

No solo aplicamos nuestros conocimientos técnicos, sino que también aprendimos a colaborar, dividir tareas y apoyarnos mutuamente para superar los desafíos que surgían.

En resumen, esta fue la parte de JavaScript, la parte central del Bootcamp. Hubo momentos difíciles, pero también éxitos y mucho aprendizaje, tanto de código como de las personas que tenía al lado. Sin duda, fue una gozada.

Mas Post