<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Angel Rodríguez</title>
    <description>The latest articles on DEV Community by Angel Rodríguez (@angeelrdz).</description>
    <link>https://dev.to/angeelrdz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F337351%2F5b8f5252-5dce-46c2-a2a4-71c1fcdf99f5.jpg</url>
      <title>DEV Community: Angel Rodríguez</title>
      <link>https://dev.to/angeelrdz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/angeelrdz"/>
    <language>en</language>
    <item>
      <title>Deploy con React en Netlify</title>
      <dc:creator>Angel Rodríguez</dc:creator>
      <pubDate>Tue, 17 Aug 2021 23:51:29 +0000</pubDate>
      <link>https://dev.to/angeelrdz/deploy-con-react-en-netlify-1961</link>
      <guid>https://dev.to/angeelrdz/deploy-con-react-en-netlify-1961</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introducción.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Al terminar de desarrollar tu aplicación con React, a menudo nos preguntamos como subir nuestra aplicación a algún servidor para poderla visualizar en Internet y compartirla.&lt;/p&gt;

&lt;p&gt;El día de hoy te explicaré una de las maneras para poder realizarlo, en Netlify.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;¿Qué es Netlify?.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Netlify es un sistema de gestión de contenido de código abierto para un flujo de trabajo con Git, es una plataforma para un alojamiento gratuito.&lt;/p&gt;

&lt;p&gt;Algo muy interesante, es que Netlify viene con &lt;strong&gt;CI/CD&lt;/strong&gt; integrado y otras herramientas útiles para que nuestra aplicación sea fácil de implementar. Solo necesitamos enviar nuestro código a un repositorio en la nube como GitHub o GitLab y Netlify hace el resto para que nuestra aplicación esté en línea.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD: Son las prácticas combinadas de integración continua &lt;strong&gt;(CI)&lt;/strong&gt; y entrega continua o implementación continua &lt;strong&gt;(CD)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Requisitos:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Una cuenta de &lt;a href="https://github.com/"&gt;Github&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Cuenta en Netlify &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Instalaci%C3%B3n-de-Git"&gt;Instalar Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nodejs.org/en/download/"&gt;Instalar NodeJS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Configuración en tu proyecto React&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Cuando nosotros usamos React, normalmente creamos nuestra aplicación usando el siguiente comando en la terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app example-app&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Para iniciar nuestra aplicación usamos el comando &lt;code&gt;yarn start&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Hay dos formas de ver nuestro proyecto compilado:&lt;/p&gt;

&lt;p&gt;1.- Cuando usamos el comando anterior (&lt;code&gt;yarn start&lt;/code&gt;), automáticamente nos abre en nuestro navegador predeterminado el proyecto.&lt;/p&gt;

&lt;p&gt;2.- Abrimos directamente desde el navegador la siguiente URL: &lt;code&gt;http://localhost:3000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;En ambas formas veremos lo siguiente:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TfeDaoFS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/h46sGWLs/Netlify-React-01.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TfeDaoFS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/h46sGWLs/Netlify-React-01.jpg" alt="Netlify-React-01"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Configuración - GitHub&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Github lo vamos a utilizar para alojar nuestro proyecto y poder activar Netlify, de esta forma lo haremos en línea cada vez que introduzcamos nuevas funciones (cambios) en nuestro repositorio.&lt;/p&gt;

&lt;p&gt;Primero, creamos nuestro repositorio, no importa si es público o privado. Después de esto, copiamos la URL del repositorio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;La URL del repositorio tiene dos tipos. **HTTPS y SSH**.&lt;br&gt;
HTTP requiere que inserte el nombre de usuario y la contraseña de GitHub cada vez que haga cambios. Y SSH requiere que se configure SSH-Key entre nuestra computadora y GitHub.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ahora tenemos que compilar nuestro proyecto con el comando &lt;code&gt;yarn build&lt;/code&gt; en la terminal, este comando ejecutará la construcción de nuestro proyecto y creará una carpeta con el nombre &lt;strong&gt;"build"&lt;/strong&gt; en raíz de todo el proyecto. "Es muy importante realizar este paso porque en Netlify configuraremos el comando de construcción."&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Configuración - Netlify&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A continuación, iniciamos sesión con nuestra cuenta de Netlify.&lt;/p&gt;

&lt;p&gt;Clic en crear nuevo sitio:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g5155SzN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/RFkNtRV3/Netlify-React-02.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g5155SzN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/RFkNtRV3/Netlify-React-02.jpg" alt="Netlify-React-02"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y clic en GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JOPEj-3h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/fWd3N6BY/Netlify-React-03.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JOPEj-3h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/fWd3N6BY/Netlify-React-03.jpg" alt="Netlify-React-03"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Al realizar estos primeros pasos, vamos a elegir nuestro repositorio que creamos anteriormente.&lt;/p&gt;

&lt;p&gt;Ahora, damos clic en &lt;strong&gt;"Configure Netlify on Github"&lt;/strong&gt;, donde nos saldrá una pantalla de GitHub para darle acceso a Netlify y poder buscar nuestro repositorio. (Esta pantalla nos saldrá por única vez cuando conectemos un nuevo repositorio con Netlify).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XxiWZdI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/BnSt2tsC/Netlify-React-04.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XxiWZdI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/BnSt2tsC/Netlify-React-04.jpg" alt="Netlify-React-04"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MshA7hQD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/tTZs7fyQ/Netlify-React-05.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MshA7hQD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/tTZs7fyQ/Netlify-React-05.jpg" alt="Netlify-React-05"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hay que asegurarnos de proporcionar el valor correcto en cada campo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branch to deploy:&lt;/strong&gt; La rama (en GitHub) que Netlify extraerá, compilará y publicará nuestra aplicación. Por lo general, es nuestra rama de producción.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build command:&lt;/strong&gt; Es un comando que Netlify ejecutará para construir nuestra aplicación.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Asd1W7kZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/3xtN17xQ/Netlify-React-06.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Asd1W7kZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/3xtN17xQ/Netlify-React-06.jpg" alt="Netlify-React-06"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez completando los campos de configuración, daremos clic en el botón "Deploy site" para comenzar a compilar y publicar nuestra aplicación.&lt;/p&gt;

&lt;p&gt;Se vera algo similar cuando finalice el Deploy:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xSS6zKg9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/Gp92SN48/Netlify-React-07.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xSS6zKg9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/Gp92SN48/Netlify-React-07.jpg" alt="Netlify-React-07"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por defecto, Netlify le dará a nuestra aplicación un subdominio único, pero podemos cambiarlo en el botón "Domain settings."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0iSCTRgL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/X7cpZ9MJ/Netlify-React-08.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0iSCTRgL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/X7cpZ9MJ/Netlify-React-08.jpg" alt="Netlify-React-08"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clic en "Options" y seleccionamos "Edit site name".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rn8dNECq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/vHd4H3Nk/Netlify-React-09.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rn8dNECq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/vHd4H3Nk/Netlify-React-09.jpg" alt="Netlify-React-09"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez que cambiamos nuestro sitio y guardemos nuestra aplicación, la visitaremos. En este caso, el nombre de mi aplicación es:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pokedex-angeel.netlify.app/"&gt;https://pokedex-angeel.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sKSDupiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/Zn60xdCw/Netlify-React-10.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sKSDupiC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.postimg.cc/Zn60xdCw/Netlify-React-10.jpg" alt="Netlify-React-10"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como vemos, hemos terminado de subir nuestra aplicación en Netlify, una de sus ventajas, es que en automático reconoce los cambios de tu repositorio y realiza el deploy para tener actualizada la versión.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusión:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Con estos pasos que acabamos de ver, podemos darnos cuenta que Netlify es una plataforma con procesos sencillos, interfaces amigables, y lo mejor es que es gratuito, te aconsejo tener muy claro tus comandos de construcción (&lt;code&gt;npm build&lt;/code&gt;), tu directorio publico y el nombre de tu repositorio para no tener problemas en el deploy.&lt;/p&gt;

&lt;p&gt;Nos vemos! &lt;/p&gt;

&lt;p&gt;Sígueme:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/angeluchh"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>netlify</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Destructuring en Javascript</title>
      <dc:creator>Angel Rodríguez</dc:creator>
      <pubDate>Tue, 10 Aug 2021 15:22:21 +0000</pubDate>
      <link>https://dev.to/angeelrdz/destructuting-en-javascript-57j9</link>
      <guid>https://dev.to/angeelrdz/destructuting-en-javascript-57j9</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bp1sxpzp8tlp62z4aex.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bp1sxpzp8tlp62z4aex.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Definición.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Destructuring&lt;/em&gt;, o destructuración, es una nueva característica de ES6 para Javascript que nos da la posibilidad de poder tomar los datos de objetos o arrays directamente y de manera múltiple, para extraerlos a variables o constantes. Lo cuál la desestructuración nos permite escribir código limpio y legible.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;¿Dónde se puede aplicar?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;El &lt;em&gt;destructuring&lt;/em&gt; se puede aplicar en diferentes sitios, suelen ser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retornos de funciones&lt;/li&gt;
&lt;li&gt;Parámetros en las funciones&lt;/li&gt;
&lt;li&gt;Funciones de trabajo con arrays&lt;/li&gt;
&lt;li&gt;Destructuring múltiple&lt;/li&gt;
&lt;li&gt;Importación de objetos&lt;/li&gt;
&lt;li&gt;Destructuring en React&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;"Desestructurar" no significa "destructivo".&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Se llama "asignación de desestructuración" porque se "desestructura" copiando elementos en variables. Pero la matriz en sí no se modifica.&lt;/p&gt;

&lt;p&gt;Es solo una forma más corta y limpia de escribir y/o entender el código.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Sintaxis&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;La sintaxis del &lt;strong&gt;&lt;em&gt;destructuring&lt;/em&gt;&lt;/strong&gt; es muy sencilla. Por un lado tenemos el objeto que queremos destructurar. Para extraer sus propiedades usamos las &lt;strong&gt;"llaves"&lt;/strong&gt; &lt;strong&gt;{ }&lt;/strong&gt;, metiendo dentro de ellas sus respectivos nombres y con esto tenemos nuevas variables que contienen estas propiedades:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FbdcNks1S%2Fdestructuring-javascript-01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FbdcNks1S%2Fdestructuring-javascript-01.png" alt="destructuring-javascript-01"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si queremos poner nombres específicos para estas nuevas variables bastará con poner &lt;strong&gt;"dos puntos"&lt;/strong&gt; &lt;strong&gt;:&lt;/strong&gt;, seguido del nuevo nombre de variable que queramos asignar en las propiedades destructuradas:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FXYgdNb0k%2Fdestructuring-javascript-02.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FXYgdNb0k%2Fdestructuring-javascript-02.png" alt="destructuring-javascript-02"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Desestructuración de objetos (Object destructuring)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;La asignación de &lt;em&gt;destructuring&lt;/em&gt; también funciona con objetos, como lo vimos en las anteriores imágenes.&lt;/p&gt;

&lt;p&gt;En la siguiente imagen observamos las propiedades &lt;code&gt;options.title&lt;/code&gt;, &lt;code&gt;options.width&lt;/code&gt; y &lt;code&gt;options.height&lt;/code&gt; que se asignan a las variables correspondientes.&lt;/p&gt;

&lt;p&gt;Por ejemplo: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FJ79bPxqZ%2Fdestructuring-javascript-03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FJ79bPxqZ%2Fdestructuring-javascript-03.png" alt="destructuring-javascript-03"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El orden no importa. Esto también funciona:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fhv7tX9Qq%2Fdestructuring-javascript-04.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fhv7tX9Qq%2Fdestructuring-javascript-04.png" alt="destructuring-javascript-04"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si tenemos un objeto complejo con muchas propiedades, podemos extraer solo lo que necesitamos:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fc1KRR2Qd%2Fdestructuring-javascript-05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fc1KRR2Qd%2Fdestructuring-javascript-05.png" alt="destructuring-javascript-05"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;El patrón de descanso "..."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;¿Qué pasa si el objeto tiene más propiedades de las variables que tenemos? ¿Podemos tomar un poco y luego asignar el "resto" a alguna parte?&lt;/p&gt;

&lt;p&gt;Podemos usar el patrón de descanso, (también se puede realizar en matrices). No es compatible con algunos navegadores más antiguos (IE, use Babel para rellenarlo), pero funciona en los modernos.&lt;/p&gt;

&lt;p&gt;Un ejemplo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FT3xnXPBP%2Fdestructuring-javascript-06.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FT3xnXPBP%2Fdestructuring-javascript-06.png" alt="destructuring-javascript-06"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Desestructuración de arreglos (Arrays destructuring)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Acceder a los elementos de la matriz manualmente&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En la siguiente imagen se muestra un ejemplo para acceder manualmente a los elementos de la matriz:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FJh4JG2rV%2Fdestructuring-javascript-07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FJh4JG2rV%2Fdestructuring-javascript-07.png" alt="destructuring-javascript-07"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La mayoría de las veces, el tamaño de una matriz es grande y usamos un bucle para recorrer cada elemento de las matrices. A veces, es posible que tengamos arreglos cortos. Si el tamaño de la matriz es muy corto, está bien acceder a los elementos manualmente como se muestra arriba, pero a continuación veremos una mejor manera de acceder al elemento de la matriz que se está desestructurando.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acceder a elementos de la matriz mediante desestructuración&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En la siguiente imagen se muestra un ejemplo para acceder mediante &lt;em&gt;destructuring&lt;/em&gt; a los elementos de la matriz: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FncBq5mR5%2Fdestructuring-javascript-08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FncBq5mR5%2Fdestructuring-javascript-08.png" alt="destructuring-javascript-08"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Durante el &lt;em&gt;destructuring&lt;/em&gt;, cada variable debe coincidir con el índice del elemento deseado en la matriz. Por ejemplo, la variable &lt;strong&gt;mex&lt;/strong&gt; coincide con el índice 0 y la variable &lt;strong&gt;col&lt;/strong&gt; coincide con el índice 2. ¿Cuál sería el valor de &lt;strong&gt;arg&lt;/strong&gt; si tiene una variable &lt;strong&gt;arg&lt;/strong&gt; después de &lt;strong&gt;col&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FHLZM59nJ%2Fdestructuring-javascript-09.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FHLZM59nJ%2Fdestructuring-javascript-09.png" alt="destructuring-javascript-09"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si intento la tarea anterior, confirmó que el valor no está definido. En realidad, podemos pasar un valor predeterminado a la variable, y si el valor de ese índice específico no está definido, se utilizará el valor predeterminado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2F76jTtPgw%2Fdestructuring-javascript-10.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2F76jTtPgw%2Fdestructuring-javascript-10.png" alt="destructuring-javascript-10"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Desestructuración anidada (Nested destructuring)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Si un objeto o una matriz contiene otros objetos y matrices anidados, podemos usar patrones del lado izquierdo más complejos para extraer porciones más profundas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FRhfJkrRf%2Fdestructuring-javascript-11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FRhfJkrRf%2Fdestructuring-javascript-11.png" alt="destructuring-javascript-11"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Saltarse un objeto durante la desestructuración&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Durante el &lt;em&gt;destructuring&lt;/em&gt;, si no estamos interesados ​​en todos los elementos, podemos omitir un elemento determinado poniendo una coma en ese índice. Saquemos solo México, Colombia y Brasil de la matriz. A continuación en la siguiente imagen se puede observar con más claridad:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FB6jKCPPm%2Fdestructuring-javascript-12.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FB6jKCPPm%2Fdestructuring-javascript-12.png" alt="destructuring-javascript-12"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Obtener el resto de la matriz usando el operador de propagación usamos tres puntos (...) para extender u obtener el resto de una matriz durante el &lt;em&gt;destructuring&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2F7Y3TXkbr%2Fdestructuring-javascript-13.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2F7Y3TXkbr%2Fdestructuring-javascript-13.png" alt="destructuring-javascript-13"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Desestructuración en React (React Destructuring)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Destructuring&lt;/em&gt;&lt;/strong&gt; es una técnica usada mucho en los componentes React ya que les da mucha más legibilidad. Las &lt;strong&gt;&lt;em&gt;props&lt;/em&gt;&lt;/strong&gt; suelen ser un blanco fácil para poder realizar el destructuring siempre que se use más de una.&lt;/p&gt;

&lt;p&gt;Si comparamos las siguiente imágenes con o sin destructuring podemos ver la diferencia y legibilidad entre ellos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sin &lt;em&gt;destructuring&lt;/em&gt;:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FkX3bx4Jy%2Fdestructuring-javascript-14.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FkX3bx4Jy%2Fdestructuring-javascript-14.png" alt="destructuring-javascript-14"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Con &lt;em&gt;destructuring&lt;/em&gt;:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fryt40Wkm%2Fdestructuring-javascript-15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2Fryt40Wkm%2Fdestructuring-javascript-15.png" alt="destructuring-javascript-15"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusión&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Destructuring&lt;/em&gt;&lt;/strong&gt; es una nueva característica muy potente del lenguaje que nos permite escribir código más legible, aunque por mi experiencia, como todo no hay que abusar de ella. En este artículo hablamos de pequeños ejemplos, pero seguramente si lo que vas a destructurar solamente tiene una propiedad, la mejor opción es no hacerlo, debido a que el &lt;em&gt;Destructuring&lt;/em&gt; agarra mucha fuerza sobre todo cuando se usan varias propiedades de un mismo objeto que se pueden destructurar, ya que al hacer el desglose de las propiedades todo suele quedar más limpio y claro. Te lo recomiendo, al leer un código con &lt;em&gt;destructuring&lt;/em&gt; lo vas agradecer.&lt;/p&gt;

&lt;p&gt;Sígueme:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/angeluchh" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
