1. Introducción a Escribir Node en 2022
Escribamos Node como si estuviéramos en 2022. Mi nombre es Pedro, un ingeniero de software en blockchain.com. He estado evolucionando con Node y estoy orgulloso de ello.
Hola. Escribamos Node como si estuviéramos en 2022. Bueno, en primer lugar, ¿quién soy yo? Mi nombre es Pedro, y soy un ingeniero de software en blockchain.com. Y, bueno, estaba revisando el código que escribí hace unos años, como hace 10 años, y vi que mi vida era muy, muy desafiante y divertida. Pero hoy en día, solo es divertida. Escribí un montón de esto igual a esto, y usé muchos guiones bajos y todo lo demás que puedas imaginar. Solo hice algunas cosas que funcionaran como se esperaba hoy en día. Node evolucionó, y he estado evolucionando con él, y estoy muy orgulloso de ello.
2. Escribiendo Node en 2022
Permíteme decirte cómo escribir código en Node como si estuviéramos en 2022. Ahora podemos iterar sobre objetos más fácilmente con el bucle for-in. Las plantillas literales hacen que la concatenación de cadenas y las cadenas de varias líneas sean mucho más simples. La función de clonado estructurado nos permite clonar objetos complejos sin necesidad de trucos como convertir a cadena y analizar. Los parámetros por defecto en JavaScript ahora son mucho más convenientes.
Entonces, permíteme decirte cómo escribir código en Node como si estuviéramos en 2022. Mira este ejemplo, por ejemplo. Antes teníamos que usar varios métodos para iterar sobre un objeto. Así que, en este ejemplo de obtener la puntuación total, teníamos que usar las claves del objeto y un bucle for-each para acceder a la propiedad dentro del objeto, y luego asignar el valor a los totales. Pero ahora, podemos usar un bucle for-in y acceder a la clave del objeto Y podemos hacerlo muy fácilmente, y con solo un método. Así que es mucho más fácil de leer, es fácil de entender. Sé lo que estoy leyendo tan pronto como pongo mis ojos en él, mucho mejor.
Bueno, teníamos que concatenar cadenas para obtener frases con variables, y LongAVI comenzaba con varias líneas. Estas eran muy, muy difíciles de crear. En este ejemplo, solo creé uno que une tres cadenas en este caso. Tenía que usar cadenas con espacios porque odiaba agregar un espacio al final de esta, y aquí realmente lo necesito porque no puedo agregar nada a esta cadena directamente. Pero ahora, puedo usar plantillas literales y puedo hacer que funcione. Puedo hacer varias líneas fácilmente y todo lo que veo es exactamente lo que aparece en la pantalla. Mucho más fácil. Teníamos que usar el truco de convertir a cadena y analizar objetos para clonarlos. Y esto no era el caso para objetos simples. Podías hacer otras cosas. Y en lodash teníamos cloneDeep que hacía exactamente lo mismo que este código. Es decir, obtener un objeto con datos complejos y anidados y ponerlo en otra variable. Como JavaScript usaría un puntero a este. Si solo obtengo algo como B igual a A, obtendría el valor asignado como solo un puntero a A y no realmente un valor de A. Así que tenía que convertirlo en una cadena y luego analizarlo para clonar realmente el valor del objeto. Bueno, esa es una explicación muy complicada para simplemente copiar un objeto. Pero ahora podemos usar el clonado estructurado. Eso es exactamente lo que dice. Es un clonado estructurado con todas las propiedades, las anidadas, y simplemente funciona como se espera. Quiero decir, es muy agradable. ¿Y qué hay de los parámetros por defecto? Oh, este. Todos los que escriben JavaScript en 2022 saben que los parámetros por defecto son muy, muy buenos. Antes, tenías que tenerlos en la parte superior de cada función, tendrías los
3. Escribiendo código como si estuviéramos en 2022
A es igual a A o 1. Puedes pasar parámetros por defecto directamente en la función. Async await elimina la necesidad de callbacks. Las funciones de flecha heredan el ámbito, eliminando la necesidad de 'this equals that'. Const evita la reasignación de variables. Let ayuda a detectar errores antes. ¡Escribe código como si estuviéramos en 2022!
variable es igual a variable o algo, como aquí. A es igual a A o 1. Y en algunos casos, en casos de objetos, tendrías un montón de ellos listados en la parte superior de la función, lo que dificulta mucho la lectura. Pero hoy no es el caso. Porque hoy, puedes hacerlo como A es igual a 1 y B es igual a 2 en la parte superior. Entonces, en la función, literalmente puedes pasar los parámetros por defecto justo ahí sin ningún otro problema. Y Nogami comenzó con async await. Ahora no necesitas callbacks para manejar las solicitudes HTTP. Puedes usar async await. Soy una persona de async await, pero puedes usar then, que es muy útil para escribir código async. Tienes funciones de flecha que no tienen ámbito this y heredan el ámbito. Así que no tienes que escribir this equals that en muchos casos. Tienes const que no te permite reasignar la variable. Tienes let que hace que sea más fácil ver los errores antes de verlos, porque con var se elevaría hasta arriba y obtendrías un montón de errores como `cannot read a` no definido, por ejemplo. Y hay otras cosas que no recuerdo en este momento pero que son muy, muy importantes. Así que haz un favor a todos y escribe como en 2022. No es tan difícil. Bueno, ese es mi GitHub y mi Twitter. Y eso es todo, amigos. Avísame si tienes alguna pregunta. ¡Hasta luego!