<?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: Raz Chiriac</title>
    <description>The latest articles on DEV Community by Raz Chiriac (@raz_chiriac_b5dbbe8de7932).</description>
    <link>https://dev.to/raz_chiriac_b5dbbe8de7932</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%2F908203%2F8f7e6fb1-e96d-4daa-9b3f-d3be67575289.jpeg</url>
      <title>DEV Community: Raz Chiriac</title>
      <link>https://dev.to/raz_chiriac_b5dbbe8de7932</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raz_chiriac_b5dbbe8de7932"/>
    <language>en</language>
    <item>
      <title>Console Wrangling</title>
      <dc:creator>Raz Chiriac</dc:creator>
      <pubDate>Sun, 14 Aug 2022 16:15:05 +0000</pubDate>
      <link>https://dev.to/raz_chiriac_b5dbbe8de7932/console-wrangling-2k2p</link>
      <guid>https://dev.to/raz_chiriac_b5dbbe8de7932/console-wrangling-2k2p</guid>
      <description>&lt;h2&gt;
  
  
  Have you ever console logged the console?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---c5xEVXh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ihj627kwiml7gk0gqo80.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---c5xEVXh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ihj627kwiml7gk0gqo80.jpg" alt="Thanos console" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So you know the good ol’ &lt;code&gt;console.log()&lt;/code&gt; ? &lt;/p&gt;

&lt;p&gt;Well, that’s not the only thing the console can do, it’s only the most basic. &lt;/p&gt;

&lt;p&gt;Have you ever used the console to log the console? No? You should try it. &lt;/p&gt;

&lt;p&gt;The console will show you what the console can do.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KxdmH5d1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0q4ve5ihlkpof7x4q5bj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KxdmH5d1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0q4ve5ihlkpof7x4q5bj.png" alt="console console" width="560" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today we’ll talk about two of the functions available on the console object:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;console.table()&lt;/code&gt; and &lt;code&gt;console.trace()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Lets say we have two objects:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;carA&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;make&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Ford&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;F150&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;year&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2018&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;white&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;carB&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;make&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Ford&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;F250&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;year&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2016&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we wanted to do some debugging and had to print these objects out to the console we could use &lt;code&gt;console.log()&lt;/code&gt; but it wont look too nice.&lt;/p&gt;

&lt;p&gt;Look how neat &lt;code&gt;console.table()&lt;/code&gt; can display the two objects:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YmmVbIg4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bs04i5n1ekoact10x5fb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YmmVbIg4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bs04i5n1ekoact10x5fb.png" alt="console table" width="536" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can even sort the two rows by column just by clicking on the headers!&lt;/p&gt;

&lt;p&gt;One other console function we’ll talk about today is &lt;code&gt;console.trace()&lt;/code&gt;. This will output a stack trace to the console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y3CvRRt1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ag4apxwdgre4514w38l9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y3CvRRt1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ag4apxwdgre4514w38l9.png" alt="console trace" width="512" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that’s all for today.&lt;/p&gt;

&lt;p&gt;I hope I’ve helped make your debugging a little less boring. Now go show off your new console skills in your next stand-up.&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Object Equality in JavaScript</title>
      <dc:creator>Raz Chiriac</dc:creator>
      <pubDate>Sat, 13 Aug 2022 16:33:00 +0000</pubDate>
      <link>https://dev.to/raz_chiriac_b5dbbe8de7932/object-equality-in-javascript-2k96</link>
      <guid>https://dev.to/raz_chiriac_b5dbbe8de7932/object-equality-in-javascript-2k96</guid>
      <description>&lt;p&gt;Howdy! Here’s a simple way to check for object equality.&lt;/p&gt;

&lt;p&gt;Let’s say we have two objects:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const carA = {make: 'Ford', model: 'F150', year: '2018', color: 'white'}&lt;br&gt;
const carB = {make: 'Ford', model: 'F150', year: '2018', color: 'white'}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We can see that &lt;code&gt;carA&lt;/code&gt; is the same as &lt;code&gt;carB&lt;/code&gt;. So we would expect &lt;code&gt;carA === carB&lt;/code&gt; to return true but it does not. This is because JavaScript checks for equality on non-primitive types like Objects, Arrays and Dates by reference.  This means, JavaScript checks if the two objects point to the same place in memory, not if they have the same key-value pairs.&lt;/p&gt;

&lt;p&gt;One way to check for key-value equality of two objects, without the use of an external  library or much coding is by converting the objects to strings using &lt;code&gt;JSON.stringify()&lt;/code&gt; .&lt;/p&gt;

&lt;p&gt;&lt;code&gt;carA == carB // =&amp;gt; false&lt;/code&gt;&lt;br&gt;
&lt;code&gt;carA === carB // =&amp;gt; false&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;JSON.stringify(carA) === JSON.stringify(carB) // =&amp;gt; true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Keep in mind that this approach only works if the key-value pairs are in the same order on both objects. We could go into sorting object entries by key and other approaches in future posts.&lt;/p&gt;

&lt;p&gt;Cheers! 🫖&lt;/p&gt;

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