<?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: Silvana Lima</title>
    <description>The latest articles on DEV Community by Silvana Lima (@silvanavlima).</description>
    <link>https://dev.to/silvanavlima</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%2F226438%2Fa967adc2-e7fb-49fc-91e6-1752a24c43d6.png</url>
      <title>DEV Community: Silvana Lima</title>
      <link>https://dev.to/silvanavlima</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/silvanavlima"/>
    <language>en</language>
    <item>
      <title>Exemplo de Coerção de tipos no JavaScript.</title>
      <dc:creator>Silvana Lima</dc:creator>
      <pubDate>Thu, 26 Dec 2019 01:15:39 +0000</pubDate>
      <link>https://dev.to/silvanavlima/exemplo-de-coercao-de-tipos-no-javascript-485n</link>
      <guid>https://dev.to/silvanavlima/exemplo-de-coercao-de-tipos-no-javascript-485n</guid>
      <description>&lt;p&gt;No JavaScript temos duas formas de coerção.&lt;br&gt;
    - Explícita: Quando queremos converter um tipo, como por exemplo Number(value), chamamos isso de Coerção de tipos explícita. Você manda converter um tipo de valor para outro tipo de valor.&lt;br&gt;
    - Implícita: Acontece quando o tipo de conversão ocorre como um 'efeito simultâneo' de alguma outra operação, ou seja, não chega a ser algo muito óbvio, neste caso chamamos de Coerção de tipos implícita.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H6VPMahh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/prj8lljo2ywymhjb6l7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H6VPMahh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/prj8lljo2ywymhjb6l7o.png" alt="Coerção de tipos no JavaScript"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Evitando o uso de uma &lt;div&gt; desnecessária: DocumentFragment</title>
      <dc:creator>Silvana Lima</dc:creator>
      <pubDate>Sun, 29 Sep 2019 19:51:28 +0000</pubDate>
      <link>https://dev.to/silvanavlima/evitando-o-uso-de-uma-div-desnecessaria-documentfragment-48fg</link>
      <guid>https://dev.to/silvanavlima/evitando-o-uso-de-uma-div-desnecessaria-documentfragment-48fg</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CtoCdKw5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/z3zeis751ghg64ttakqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CtoCdKw5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/z3zeis751ghg64ttakqo.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você já deve ter se deparado com situações que "precisou" criar uma  &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; apenas para envolver outras &lt;code&gt;tags&lt;/code&gt; e então adicionar essa &lt;code&gt;div&lt;/code&gt; ao elemento &lt;code&gt;body&lt;/code&gt;. Só porque não queria adicionar essas &lt;code&gt;tags&lt;/code&gt; diretamente ao &lt;code&gt;body&lt;/code&gt;.&lt;br&gt;
Então, essa &lt;strong&gt;&lt;code&gt;div&lt;/code&gt; extra que você criou, não está ali por conta de uma real necessidade&lt;/strong&gt;.  🤨&lt;br&gt;
Envolvemos essas &lt;code&gt;tags&lt;/code&gt; em um elemento, porque se adicionamos cada novo elemento diretamente ao &lt;code&gt;body&lt;/code&gt;, o código ficaria mais lento, isso porque obrigaria o navegador a passar pelos processos de refluxo para definir o novo layout da tela e depois redesenhar a tela.&lt;br&gt;
Então, para resolver o problema do uso desnecessário da &lt;code&gt;div&lt;/code&gt;, podemos usar o método &lt;code&gt;.createDocumentFragment()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Segundo a &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment"&gt;documentação&lt;/a&gt;,  as mudanças feitas em um &lt;code&gt;DocumentFragment&lt;/code&gt; acontecem fora da tela, portanto não há custo de refluxo e redesenho para construir esse recurso.  Consequentemente,  as mudanças feitas no &lt;code&gt;document fragment&lt;/code&gt; não afetam o documento e nem geram efeito no desempenho que pode ocorrer quando temos mudanças.&lt;/p&gt;

&lt;p&gt;Não há nada de muito novo para usar esse recurso, ele se assemelha muito ao nosso velho conhecido &lt;code&gt;document.createElement()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Vejamos o exemplo:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/silvanavlima/embed/ZEzNqpd?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Bem simples! 🤙&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>documentfragment</category>
      <category>dom</category>
    </item>
    <item>
      <title>Medindo o desempenho do código JavaScript: performance.now()</title>
      <dc:creator>Silvana Lima</dc:creator>
      <pubDate>Thu, 26 Sep 2019 19:31:03 +0000</pubDate>
      <link>https://dev.to/silvanavlima/medindo-o-desempenho-do-codigo-javascript-performance-now-5936</link>
      <guid>https://dev.to/silvanavlima/medindo-o-desempenho-do-codigo-javascript-performance-now-5936</guid>
      <description>&lt;p&gt;Sabemos que geralmente existem N maneiras de escrever um código para obter um mesmo resultado. E sabemos também que sempre vai existir uma maneira que vai resultar em uma performance melhor.&lt;/p&gt;

&lt;p&gt;Para medir a performance de um &lt;strong&gt;código JavaScript&lt;/strong&gt; e até mesmo escolher qual solução &lt;strong&gt;JavaScript&lt;/strong&gt; optar, podemos usar o método &lt;code&gt;performance.now()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Seu uso é bastante simples.&lt;br&gt;
Você vai precisar declarar duas variáveis usando o método &lt;code&gt;performance.now()&lt;/code&gt;, uma no começo do seu código e outra no final. Depois disso você fazer o cálculo do valor final - valor inicial.&lt;/p&gt;

&lt;p&gt;Confira o código completo nesse exemplo abaixo:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/silvanavlima/embed/GRKLEwp?height=600&amp;amp;default-tab=js,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;E teremos o resultado:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n9CzLvIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ee0cphhe7psrkbml73q2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n9CzLvIM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ee0cphhe7psrkbml73q2.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para saber mais sobre o método: &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now"&gt;performance.now()&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essa é uma dica bem rápida e bacana!&lt;br&gt;
Agora você pode comparar seus códigos, escolher a opção mais performática :)&lt;/p&gt;

&lt;p&gt;Até a próxima! &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>frontend</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
