<?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>Forem: Eduardo Sant</title>
    <description>The latest articles on Forem by Eduardo Sant (@edusantsouza).</description>
    <link>https://forem.com/edusantsouza</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%2F690920%2F0835aae5-20b4-4d81-9b68-664fed77d36b.jpeg</url>
      <title>Forem: Eduardo Sant</title>
      <link>https://forem.com/edusantsouza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/edusantsouza"/>
    <language>en</language>
    <item>
      <title>Javascript para idiotas (como eu) - Iterando objetos</title>
      <dc:creator>Eduardo Sant</dc:creator>
      <pubDate>Tue, 27 Dec 2022 21:16:31 +0000</pubDate>
      <link>https://forem.com/edusantsouza/javascript-para-idiotas-como-eu-iterando-objetos-hlb</link>
      <guid>https://forem.com/edusantsouza/javascript-para-idiotas-como-eu-iterando-objetos-hlb</guid>
      <description>&lt;p&gt;&lt;em&gt;E quem sou eu? Esse segr&lt;/em&gt;.. Opa, blog errado. O &lt;strong&gt;Javascript para idiotas (como eu)&lt;/strong&gt; volta após um longo período e vamos continuar de onde paramos, explicando conceitos de Javascript para você como se tivesse seis aninhos. &lt;/p&gt;

&lt;p&gt;E o assunto de hoje é bastante simples, mas você pode se confundir com alguns conceitos enquanto está aprendendo a linguagem. &lt;strong&gt;A iteração sobre objetos&lt;/strong&gt; é a ação de passar por cada item de um objeto javascript a fim de executar uma ação sobre esses itens. &lt;/p&gt;

&lt;p&gt;Não sei você, mas a princípio eu associei a iteração aos loops que geralmente fazemos com os &lt;em&gt;métodos de array&lt;/em&gt;. E aqui está o drama. Se você tentar fazer um &lt;em&gt;map()&lt;/em&gt; em um objeto vai receber Uncaught TypError na testa. O que eu vou te falar agora talvez te deixe chocado, mas... um objeto não é um array! Logo, os métodos de array não vão funcionar nele. Eu sei, chocante. Mas você vai superar. A explicação da herança de métodos e propriedades via protótipo que um array recebe (e que é diferente do que um objeto recebe) é assunto para outro post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Os métodos estáticos de objetos
&lt;/h2&gt;

&lt;p&gt;Não vou me estender e perder tempo com a forma antiga de fazer um laço em objetos (com o for...in), então vamos direto ao ponto. &lt;br&gt;
Atualmente, o Javascript conta com uma forma mais simples de iterar objetos; através dos métodos estáticos.&lt;/p&gt;

&lt;p&gt;Estes aqui são os seus novos amigos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Object.keys()&lt;/li&gt;
&lt;li&gt;Object.values()&lt;/li&gt;
&lt;li&gt;Object.entries()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É muito simples de usar, não é preciso complicar nada por aqui. Só para lembrar, um objeto é formado por propriedades que têm pares de chave e valor.&lt;/p&gt;
&lt;h3&gt;
  
  
  Como usar o Object.keys()
&lt;/h3&gt;

&lt;p&gt;O Object.keys(arg) recebe como argumento o objeto que você quer percorrer e ele vai te devolver um array com todas as &lt;em&gt;chaves&lt;/em&gt; encontradas no objeto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let author = {
  name: "Eduardo",
  surname: "Santana",
  age: 26,
}

let arrKeys = Object.keys(author)
console.log(arrKeys) // ["name", "surname", "age"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Como usar o Object.values()
&lt;/h3&gt;

&lt;p&gt;O Object.values(arg) também recebe como argumento o objeto que você quer percorrer. E assim como o &lt;em&gt;keys&lt;/em&gt;, vai te devolver um array. No entanto, esse array será composto por todos os &lt;em&gt;valores&lt;/em&gt; encontrados no objeto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let author = {
  name: "Eduardo",
  surname: "Santana",
  age: 26,
}

let arrValues = Object.values(author)
console.log(arrValues) // ["Eduardo", "Santana", 26]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Como usar o Object.entries()
&lt;/h3&gt;

&lt;p&gt;E seguimos o padrão. O Object.values(arg) recebe como argumento o objeto alvo. Só que dessa vez você vai receber de volta um array de arrays, onde cada array interno é composto por dois elementos: propriedade e valor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let author = {
  name: "Eduardo",
  surname: "Santana",
  age: 26,
}

let arrEntries = Object.entries(author)
console.log(arrEntries) // [["name", "Eduardo"], ["surname", "Santana"], ["age", 26]]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Esse é o aprendizado de hoje, galerinha. Objetos são iteráveis, mas não com as mesmas ferramentas que usamos em arrays. Para essa missão temos os métodos estáticos de objetos (que como você viu, só transforma tudo em array para que então você use os métodos de array neles). Controverso, mas não sou eu quem faz as regras. Se divirta explorando!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Javascript para idiotas (como eu) - Rinha de Condicionais</title>
      <dc:creator>Eduardo Sant</dc:creator>
      <pubDate>Sat, 16 Oct 2021 06:31:44 +0000</pubDate>
      <link>https://forem.com/edusantsouza/javascript-para-idiotas-como-eu-316b</link>
      <guid>https://forem.com/edusantsouza/javascript-para-idiotas-como-eu-316b</guid>
      <description>&lt;p&gt;Não se espante com o título dessa série. Javascript para idiotas (como eu) é a minha contribuição a comunidade, que tanto me ajudou com conteúdos importantíssimos e de muita qualidade, assim como eu quero te ajudar a partir de hoje!&lt;/p&gt;

&lt;p&gt;A linguagem de programação Javascript é majoritariamente usada no front-end. Mas isso você já deve saber. Sabe o que você poderia concordar comigo? Que a abordagem ao Javascript e linguagens de programação em geral, é feita diversas vezes de uma maneira mecânica e excessivamente direta. E isso não é algo bom? Alguns diriam que sim. Eu digo que depende do dia. Nem sempre estou no meu melhor dia ou melhor momento para fazer uma leitura pesada sobre um conteúdo minimamente difícil de entender. Esperar um alinhamento das estrelas, um evento cósmico que me faça encarar o cansaço do dia a dia, vencê-lo e triunfar sobre um conteúdo brevemente explicado e/ou muito complexo é pura viagem.&lt;/p&gt;

&lt;p&gt;Atenção, mundo! Eu sou um idiota esforçado que PRECISA do máximo de conteúdo simplificado possível. A mecânica de encarar um esgotamento mental para entender um assunto (as vezes particularmente) complexo é um esforço jogado fora, sem razão e mal direcionado.&lt;/p&gt;

&lt;p&gt;Portanto, comunico aos aspirantes a Dev Front-end que inicio hoje uma série de conteúdos sobre Javascript totalmente direcionada a idiotas como eu. Não tenha vergonha, assuma que você é limitado e venha aprender comigo de uma forma menos trabalhosa. Assim, quem sabe, não evoluamos melhor, mais rápido e com maior qualidade.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;


&lt;h3&gt;If  e Else     &lt;b&gt;vs&lt;/b&gt;  Operador Ternário&lt;/h3&gt;
&lt;br&gt;

&lt;p&gt;&lt;em&gt;Condicionais&lt;/em&gt; são as afirmações que você vai usar nas suas linhas de código para tomar uma decisão a respeito de alguma coisa. Objetivamente, podemos trazer os famosos &lt;code&gt;If&lt;/code&gt; e &lt;code&gt;Else&lt;/code&gt; para o holofote e traduzi-los. &lt;/p&gt;

&lt;p&gt;Assim, descobriremos que na verdade eles se chamam SE e SENÃO! Já ficou mais fácil, não?&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Regra n° 1 para facilitar a vida de um idiota&lt;/b&gt;: descomplique o significado das coisas. &lt;br&gt;
É muito lindo e correto chamar de If/Else Statement, mas fica mais simples atribuir significado a isso de uma vez, principalmente se você não entende tanto de inglês. &lt;/p&gt;

&lt;p&gt;SE e SENÃO vão ficar de olho na situação que você definir e tomarão uma decisão sobre. Veja só:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Definimos aqui uma variável chamada corDoSinal que é atribuído
//a um valor do tipo 'string'. Nesse caso, 'vermelho'.

var corDoSinal = 'vermelho'

//Situação

SE(corDoSinal === 'vermelho'){
// Atravesse a rua
}SENÃO {
// Não atravesse a rua
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pronto, o SE e SENÃO estão atentos a condição imposta. Substitua nossos SE e SENÃO pelo If e Else respectivamente e você terá a estrutura correta. Agora, já sabendo o que significam. Se essa condição passada dentro parêntese for atendida, o bloco de código logo após (representado pelas chaves {}) será executado. No caso da condição não ser atendida, então vamos parar direto no SENÃO, que executará o bloco de código que está ligado a ele.&lt;/p&gt;

&lt;p&gt;Bem antiburro, não acha? Muito bem, você acabou de aprender uma &lt;strong&gt;estrutura condicional&lt;/strong&gt; no Javascript. O problema é que nós não gostamos muito do &lt;code&gt;If&lt;/code&gt; e &lt;code&gt;Else&lt;/code&gt; para estruturas de condições simples como essa do exemplo, onde só é necessário escolher entre duas condições. Para facilitar a vida, conheça o Ternário.&lt;/p&gt;

&lt;p&gt;Chamamos de &lt;em&gt;ternário&lt;/em&gt; por termos como premissa básica o uso de &lt;strong&gt;três&lt;/strong&gt; elementos: uma pergunta e duas possíveis respostas!&lt;/p&gt;

&lt;p&gt;Muito bem, vamos pegar o mesmo exemplo usado lá em cima só que agora usando o ternário. Dá uma olhada:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var corDoSinal = 'vermelho'

corDoSinal === 'vermelho' ? Atravesse a rua : Não atravesse a rua
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aqui então temos uma pergunta seguida de duas possíveis ações que dependem da resposta ser verdadeira ou não. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;A variável corDoSinal é igual a 'vermelho' ? &lt;strong&gt;Se sim&lt;/strong&gt;, então faça isso : &lt;strong&gt;Se não&lt;/strong&gt;, então faça aquilo&lt;em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Existem mais formas de condicionar ações, mas fica para outro post. Espero que esse conteúdo tenha sido objetivo, simples e tenha te ajudado a entender o que foi proposto. Aprendi muito explicando e você também pode aprender bastante enviando isso para um amigo e contando o que você aprendeu aqui. Compartilhar conhecimento é uma ótima forma de aprender também! &lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Valeu, galera. Fiquem ligados em futuros posts sobre os mistérios do Javascript. &lt;/p&gt;

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