<?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: Vinícius Lucena</title>
    <description>The latest articles on DEV Community by Vinícius Lucena (@viniciuslucena).</description>
    <link>https://dev.to/viniciuslucena</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%2F842098%2Fb72f17d7-81ff-44cf-8892-bfe23d9d6168.jpeg</url>
      <title>DEV Community: Vinícius Lucena</title>
      <link>https://dev.to/viniciuslucena</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/viniciuslucena"/>
    <language>en</language>
    <item>
      <title>Como desestruturar um Array no JavaScript</title>
      <dc:creator>Vinícius Lucena</dc:creator>
      <pubDate>Mon, 16 May 2022 20:33:09 +0000</pubDate>
      <link>https://dev.to/viniciuslucena/como-desestruturar-um-array-no-javascript-15i0</link>
      <guid>https://dev.to/viniciuslucena/como-desestruturar-um-array-no-javascript-15i0</guid>
      <description>&lt;p&gt;A sintaxe da atribuição via desestruturação é uma expressão JavaScript que possibilita descompactar valores de arrays ou propriedades de objetos em variáveis distintas. Ou seja, podemos extrair os dados do array e atribuir esses valores a variáveis de forma mais simples e menos verbosa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Desestruturando Arrays
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, vamos criar um array com três posições e vamos adicionar os valores Cachorro, Gato e Cavalo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const animais = ['Cachorro', 'Gato', 'Cavalo']
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora, digamos que eu queira criar uma variável com o valor Gato que está dentro do array que criamos. Antes da desestruturação nós teriámos que fazer desse jeito:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const gato = animais[1]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E se quisermos pegar os valores Cachorro e Cavalo, seguindo a mesma lógica acima, teríamos que fazer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const cachorro = animais[0]
const cavalo = animais[2]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Desse jeito nós tivemos que escrever 3 linhas de código apenas para pegar os valores de dentro do array. Agora usando a desestruturação nós vamos ver como que fica bem mais &lt;br&gt;
simples.&lt;/p&gt;
&lt;h2&gt;
  
  
  Como a desestruturação funciona
&lt;/h2&gt;

&lt;p&gt;Com a desestruturação, nós podemos escrever apenas 1 linha de código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [primeiroAnimal, segundoAnimal, terceiroAnimal] = animais
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A desestruturação pega cada uma das variáveis do array lado esquerdo e relaciona com o valor de mesmo índice no array &lt;code&gt;animais&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Quando escrevemos &lt;code&gt;primeiroAnimal&lt;/code&gt; no array a esquerda, nós estamos dizendo que queremos acessar o primeiro elemento de &lt;code&gt;animais&lt;/code&gt; e atribuir o valor dela a variável &lt;code&gt;primeiroAnimal&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;O mesmo vale para &lt;code&gt;segundoAnimal&lt;/code&gt; e &lt;code&gt;terceiroAnimal&lt;/code&gt;, estamos pegando o valor do elemento na segunda e terceira posição de &lt;code&gt;animais&lt;/code&gt;, respectivamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note que o importante aqui não é o nome da variável, mas a ordem em que está declarada!&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Se observarmos a ordem das variáveis no array a esquerda com as posições de &lt;code&gt;animais&lt;/code&gt;, podemos dizer que:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;primeiroAnimal = animais[0]
segundoAnimal = animais[1]
terceiroAnimal = animais[2]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ao desestruturar um array, podemos dar às nossas variáveis ​​o nome que quisermos. Mais uma vez, a ordem é o que importa, não o nome. Se quiséssemos, poderíamos escrever:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [cachorro, gato, cavalo] = animais
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora temos todos os nossos valores de &lt;code&gt;animais&lt;/code&gt; armazenados em suas respectivas variáveis. Se conferirmos os valores, ficaria assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(cachorro) // retorna Cachorro
console.log(gato) // retorna Gato
console.log(cavalo) // retorna Cavalo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mas e se quiser pegar apenas um elemento do array, ou pegar o elemento na segunda ou terceira posição e armazenar esse elemento em uma variável?&lt;/p&gt;

&lt;h2&gt;
  
  
  Como desestruturar o segundo ou o terceiro elemento de um Array?
&lt;/h2&gt;

&lt;p&gt;E se a gente quiser pegar o valor de Gato no array &lt;code&gt;animais&lt;/code&gt; é só escrever &lt;code&gt;const [gato] = animais&lt;/code&gt;, certo?&lt;/p&gt;

&lt;p&gt;Errado, pois desse jeito nós estariamos pegando o valor do primeiro elemento de &lt;code&gt;animais&lt;/code&gt;, ou seja, gato receberia Cachorro.&lt;/p&gt;

&lt;p&gt;Esse não é o resultado esperado. Então o que podemos fazer?&lt;/p&gt;

&lt;p&gt;Ao invés disso, podemos usar o código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [, gato] = animais
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso ocorre porque a vírgula serve como um placeholder para o elemento anterior. Ou seja, estamos dizendo ao JavaScript que o primeiro elemento existe e está lá, mas não estamos atribuindo a nenhuma variável, somente a segunda posição de &lt;code&gt;animais&lt;/code&gt; está sendo atribuida a variável gato.&lt;/p&gt;

&lt;p&gt;Uma última coisa para quem estuda React é notar que a sintaxe de uso do &lt;code&gt;useState&lt;/code&gt; é nada mais que uma desestruturação de um array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const [variable, setVariable] = useState(0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Espero que esse meu post tenha ajudado você a entender um pouco mais da desestruturação de Array. Obrigado! :)&lt;/p&gt;

&lt;p&gt;Instagram: @lucena.dev&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>Minhas extensões no VS Code</title>
      <dc:creator>Vinícius Lucena</dc:creator>
      <pubDate>Fri, 13 May 2022 13:28:36 +0000</pubDate>
      <link>https://dev.to/viniciuslucena/minhas-extensoes-no-vs-code-3036</link>
      <guid>https://dev.to/viniciuslucena/minhas-extensoes-no-vs-code-3036</guid>
      <description>&lt;h2&gt;
  
  
  Temas
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula"&gt;Dracula Official&lt;/a&gt; - O clássico e mais amado tema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=omthemes.omthemes"&gt;OM Theme (A Darker Dracula Theme)&lt;/a&gt; - Uma alternativa ao Dracula, só que mais escura.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extensões
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag"&gt;Auto Rename Tag&lt;/a&gt; - Me ajuda muito na produtividade, pois quando preciso alterar alguma tag ele altera tanto a de abertura como a de fechamento.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight"&gt;Color Highlight&lt;/a&gt; - Muito bom para visualizar a cor de um código HEX no código.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv"&gt;DotENV&lt;/a&gt; - Ajuda muito na hora de gerar um arquivo .env no código.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig"&gt;EditorConfig for VS Code&lt;/a&gt; - Gera automaticamente o arquivo .editorconfig para podermos definir padrões para o código, independente de editor/IDE que cada membro da equipe usa.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint"&gt;ESLint&lt;/a&gt; - Gera o arquivo .eslintrc de forma fácil e automática.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens"&gt;GitLens — Git supercharged&lt;/a&gt; - Adiciona algumas funções do Git dentro do VS Code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer"&gt;Live Server&lt;/a&gt; - Cria um servidor de desenvolvimento local com &lt;em&gt;live reload&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme"&gt;Material Icon Theme&lt;/a&gt; - Muda os ícones de arquivos/pastas do VS Code para o padrão Material.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=pnp.polacode"&gt;Polacode&lt;/a&gt; - Ótimo para gerar imagens de códigos para posts, por exemplo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=mohsen1.prettify-json"&gt;Prettify JSON&lt;/a&gt; - Deixa os arquivos do tipo JSON mais bonitos e de melhor visualização.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client"&gt;Thunder Client&lt;/a&gt; - Uma ótima alternativa ao Insomnia/Postman dentro do próprio VS Code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ChakrounAnas.turbo-console-log"&gt;Turbo Console Log&lt;/a&gt; - Ajuda muito na hora do debug gerando logs automaticamente.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>vscode</category>
      <category>extension</category>
    </item>
  </channel>
</rss>
