[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]
Las 3 nuevas funciones principales de JavaScript ES2021 (ES 12)
ES2021 ofrece: El operador de asignación lógica, Promise.any, y separadores numéricos que entusiasman a los programadores.
[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]
ES2021
Gracias a Babel, podemos usar las nuevas funciones de ECMAScript 2021. Casi todas las funciones son útiles, pero tres de ellas se destacaron del resto al ahorrarme mucho tiempo y hacer que mi código sea más legible.
Repasemos ellos.
1. Operador de asignación lógica
El operador de asignación lógica combina operaciones lógicas (como ??, && o ||) con una asignación (por ejemplo: =).
Aquí hay unos ejemplos.
a ||= b devuelve a si a es verdadero o b si a es falso.
a &&= b devuelve b if a es verdadero o a si a es falso.
a ??= b devuelve b si a es null o undefined, o devuelve a si a es verdadero.
Al principio, fue un poco complicado comprender instantáneamente lo que hacen estos operadores durante una revisión de código, pero después de unas semanas, todos en el equipo lo entendieron.
2. Promise.any
Promise.any acepta una serie de promesas y resuelve tan pronto como se resuelve cualquiera de las promesas proporcionadas.
Suena difícil, así que aquí tienes un ejemplo:
Hacemos tres solicitudes simultáneamente. Cuando una de las solicitudes se resuelve, Promise.any también resuelve y registra la primera solicitud resuelta en la consola (en nuestro ejemplo, es Google).
Si todas las promesas fueron rechazadas, Promise.any arroja un nuevo tipo de error: AggregateError.
La novedad es que el objeto AggregateError representa un error en el que varios errores se envuelven en un solo error.
Así es como se ve:
e.errors es una matriz del objeto de errors.
3. Separadores numéricos
Los separadores numéricos nos dan la capacidad de separar miles con un guión bajo (_) en literales numéricos.
¿Qué utilidad tiene? Hace que nuestro código sea más informativo y legible.
Aquí hay un ejemplo:
Conclusión
¡Gracias por leer!
Si desea probar estas tres nuevas funciones de ES2021 ahora mismo, puede usar estos complementos de Babel:
[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]
Diego Pacheco
Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Recent Post
[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]
