<?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: Zouhair Sahtout</title>
    <description>The latest articles on DEV Community by Zouhair Sahtout (@zouhair_sahtout).</description>
    <link>https://dev.to/zouhair_sahtout</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%2F911920%2Fc4475aea-5ccb-4fb7-9e31-88247b38dada.jpg</url>
      <title>DEV Community: Zouhair Sahtout</title>
      <link>https://dev.to/zouhair_sahtout</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zouhair_sahtout"/>
    <language>en</language>
    <item>
      <title>JavaScript - Loops and iteration</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Fri, 15 Sep 2023 01:00:19 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/javascript-loops-and-iteration-1djh</link>
      <guid>https://dev.to/zouhair_sahtout/javascript-loops-and-iteration-1djh</guid>
      <description>&lt;p&gt;Loops offer a quick and easy way to do something repeatedly and &lt;code&gt;for loop&lt;/code&gt; and &lt;code&gt;if else&lt;/code&gt; statement are one of the other &lt;strong&gt;control structure&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control Structures&lt;/strong&gt; are just a way to specify flow of control in programs.&lt;br&gt;
Any algorithm or program can be more clear and understood if they use &lt;br&gt;
self-contained modules called as logic or control structures. &lt;br&gt;
It basically analyzes and chooses in which direction a program flows &lt;br&gt;
based on certain parameters or conditions.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwoekbws3qsssi8g4n7i.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbwoekbws3qsssi8g4n7i.png" alt="Image description"&gt;&lt;/a&gt;Use &lt;code&gt;let&lt;/code&gt; variable because this counter will later be updated it by &lt;code&gt;for loop&lt;/code&gt;&lt;br&gt;
&lt;code&gt;for loop&lt;/code&gt; keeps running while the condition &lt;code&gt;rep &amp;lt;= 10;&lt;/code&gt; is TRUE &lt;br&gt;
It verifies the condition first &lt;code&gt;rep &amp;lt;= 10;&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;for loop&lt;/code&gt; and its practical application.&lt;br&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%2Fpdxbvzxak58v16cgnie5.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdxbvzxak58v16cgnie5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Now let's learn about &lt;strong&gt;two&lt;/strong&gt; important statements: &lt;code&gt;continue&lt;/code&gt; and &lt;code&gt;break&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;continue&lt;/strong&gt;: is to exit the current iteration of the loop,&lt;br&gt;
and continue to the next one.&lt;/p&gt;

&lt;p&gt;Let's say we want to only log strings to the console.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65g9d1tqw4dap2q9n53b.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F65g9d1tqw4dap2q9n53b.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;break&lt;/strong&gt; : is used to completely terminate the whole loop.&lt;br&gt;
Let's say I want to stop logging, after I find the first number&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7jp82v0dkfeu405910a.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7jp82v0dkfeu405910a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Looping backwards and Nested loops
&lt;/h2&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwkl7d27tyyab7wgogwh.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwkl7d27tyyab7wgogwh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are gonna loop over this array backwards: &lt;code&gt;3, 2, 1, 0&lt;/code&gt;&lt;br&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%2Fdt234wxhkyrj1zpaq340.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdt234wxhkyrj1zpaq340.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are gonna create a nested loop&lt;br&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%2Fcxytcq73mvluxn4i9v7a.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcxytcq73mvluxn4i9v7a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The while loop
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Whenever you do need a loop without a counter variable&lt;br&gt;
You can reach out to for the &lt;code&gt;while loop&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Basically that happens, when you do &lt;strong&gt;NOT&lt;/strong&gt; know beforehand how many&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;iteration the loop will have&lt;/strong&gt;, in your program.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All the &lt;code&gt;while loop&lt;/code&gt; what really needs, is the &lt;strong&gt;condition&lt;/strong&gt;.&lt;br&gt;
In this example it's &lt;code&gt;while(rep &amp;lt;= 10)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;and that condition, can be any condition, it does &lt;strong&gt;NOT&lt;/strong&gt; have to be related to any counter at all.&lt;br&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%2Fk72iu4kvqi1nyboy5s71.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk72iu4kvqi1nyboy5s71.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Small game with &lt;code&gt;while loop&lt;/code&gt;&lt;br&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%2Fa1y0km6edrnfu084xsoq.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa1y0km6edrnfu084xsoq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>JavaScript - Object methods</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Thu, 14 Sep 2023 00:07:15 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/javascript-object-methods-28m5</link>
      <guid>https://dev.to/zouhair_sahtout/javascript-object-methods-28m5</guid>
      <description>&lt;p&gt;We already said that a "&lt;code&gt;function&lt;/code&gt;" is just a &lt;strong&gt;value&lt;/strong&gt;, so we can add function to object as a value &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F8l4jkEz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cppick0iz528abl768b2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F8l4jkEz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cppick0iz528abl768b2.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We should avoid passing something manually if we already have it.&lt;br&gt;
In this example we already have the birth year in our object&lt;br&gt;
So to access the birth year property from the object we use &lt;code&gt;**this**&lt;/code&gt; keyword.&lt;br&gt;
Which is equal to the object that we calling it from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JW3ZGQkh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d7iuc61jzhp8txbv3isw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JW3ZGQkh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d7iuc61jzhp8txbv3isw.png" alt="Image description" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;The power of &lt;code&gt;this&lt;/code&gt; keyword&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0Xmu-CKm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hiruifdnanxza9ogk63g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0Xmu-CKm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hiruifdnanxza9ogk63g.png" alt="Image description" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's say that we need to access the &lt;strong&gt;age&lt;/strong&gt; in our object &lt;strong&gt;multiple times&lt;/strong&gt; throughout our &lt;strong&gt;program&lt;/strong&gt;.&lt;br&gt;
So that would be calling the &lt;strong&gt;&lt;code&gt;zouhair.calcAge()&lt;/code&gt;&lt;/strong&gt; multiple times.&lt;/p&gt;

&lt;p&gt;In this computation here: &lt;br&gt;
&lt;code&gt;return new Date().getFullYear() - this.birthYear;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;it's not big deal, but what if it was a bit heavier, that’s a problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instead&lt;/strong&gt; when calculate the age once, then store it in the object.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finally:
&lt;/h2&gt;

&lt;p&gt;Having the exact same code in both of these objects we fall into &lt;strong&gt;DRY&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;there's a better way which can avoid this  called: &lt;strong&gt;Object-Oriented-Programming&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>JavaScript Objects</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Wed, 13 Sep 2023 22:34:31 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/javascript-objects-3413</link>
      <guid>https://dev.to/zouhair_sahtout/javascript-objects-3413</guid>
      <description>&lt;p&gt;In JavaScript, an object is a &lt;strong&gt;non-primitive&lt;/strong&gt;, structured data type used to store various keyed collections and more complex entities.&lt;/p&gt;

&lt;p&gt;There is many ways of declaring objects, this one called:&lt;br&gt;
The &lt;strong&gt;Object Literal Syntax&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0_uvA6YF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/su2b45dwxj0bhzh2iv1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0_uvA6YF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/su2b45dwxj0bhzh2iv1n.png" alt="Image description" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;There's two different ways of accessing to the properties of an &lt;strong&gt;object&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using: &lt;strong&gt;dot notation&lt;/strong&gt;:&lt;br&gt;
&lt;code&gt;console.log(zouhair.firstName);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Using: &lt;strong&gt;bracket notation&lt;/strong&gt;:&lt;br&gt;
&lt;code&gt;console.log(zouhair['lastName']);&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Different&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The big &lt;strong&gt;difference&lt;/strong&gt; between these two up here, in the "&lt;strong&gt;bracket notation&lt;/strong&gt;" we can put an "&lt;strong&gt;expression&lt;/strong&gt;" - (expression produce a value).&lt;br&gt;
Any time we try access a property on an object does &lt;strong&gt;NOT&lt;/strong&gt; exists we get &lt;strong&gt;undefined&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WculfNJZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otpm1mu94tx8sd7q2bnc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WculfNJZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otpm1mu94tx8sd7q2bnc.png" alt="Image description" width="800" height="242"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Adding properties
&lt;/h2&gt;

&lt;p&gt;Adding new properties to the object using both: &lt;strong&gt;dot notation&lt;/strong&gt; and &lt;strong&gt;bracket notation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sGMjTbyA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq5g62j3rulfgej79y4c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sGMjTbyA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq5g62j3rulfgej79y4c.png" alt="Image description" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Operator precedence
&lt;/h2&gt;

&lt;p&gt;In terms of "&lt;strong&gt;operator precedence&lt;/strong&gt;"&lt;strong&gt;:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;.&lt;/code&gt; and &lt;code&gt;[]&lt;/code&gt; : they have the same precedence which is &lt;strong&gt;17&lt;/strong&gt;,&lt;br&gt;
and both from &lt;strong&gt;left-to-right&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EtAUl31t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o0fxbricrmad7qylq5r6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EtAUl31t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o0fxbricrmad7qylq5r6.png" alt="Image description" width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Arrays - JavaScript</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Mon, 11 Sep 2023 12:33:40 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/arrays-javascript-3nd9</link>
      <guid>https://dev.to/zouhair_sahtout/arrays-javascript-3nd9</guid>
      <description>&lt;p&gt;In JavaScript, an array is an ordered list of values. Each value is called an element specified by an index:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--THqZY6NK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5dksly9ljm3g3bajjp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--THqZY6NK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5dksly9ljm3g3bajjp0.png" alt="Image description" width="377" height="148"&gt;&lt;/a&gt;&lt;strong&gt;1-&lt;/strong&gt; An array can hold values of mixed types.&lt;br&gt;
For example, you can have an array that stores elements with the types number, string, boolean, and null.&lt;br&gt;
&lt;strong&gt;2-&lt;/strong&gt; The size of an array is dynamic and auto-growing. &lt;br&gt;
In other words, you don’t need to specify the array size up front.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Ways of declaring an array&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r9BYB9VP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2xq24zstjaajg7dtaewu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r9BYB9VP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2xq24zstjaajg7dtaewu.png" alt="Image description" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;It does NOT have to be a number, like here we have an expression&lt;br&gt;
An expression produce a value&lt;/em&gt;&lt;br&gt;
We can NOT put a &lt;strong&gt;statement&lt;/strong&gt; inside the &lt;code&gt;[]&lt;/code&gt;. it expect a &lt;strong&gt;value&lt;/strong&gt; (expression).&lt;br&gt;
&lt;code&gt;console.log(friends[friends.length - 1]);&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Change or mutate the array
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Yso_vTry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h81upcml027aaz6pkbdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yso_vTry--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h81upcml027aaz6pkbdq.png" alt="Image description" width="800" height="287"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even I declared the array with &lt;code&gt;const&lt;/code&gt;, I still can make changes, this is because only &lt;strong&gt;primitive&lt;/strong&gt; values, are &lt;strong&gt;immutable&lt;/strong&gt;.&lt;br&gt;
Arrays, they are &lt;strong&gt;NOT&lt;/strong&gt; a &lt;strong&gt;primitive&lt;/strong&gt; values, so we can &lt;strong&gt;mutate&lt;/strong&gt; them.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Array - methods
&lt;/h2&gt;

&lt;p&gt;We are gonna use push(), but there's more actually&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DfZU-BhP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53ijngtrtwh9q3jxagag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DfZU-BhP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53ijngtrtwh9q3jxagag.png" alt="Image description" width="800" height="287"&gt;&lt;/a&gt;The &lt;code&gt;push()&lt;/code&gt; method in JavaScript adds new items to the end of an array.&lt;br&gt;
The &lt;code&gt;push()&lt;/code&gt; method &lt;strong&gt;returns the new value of the length property of the array&lt;/strong&gt; object on which you call the method.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>development</category>
      <category>arrays</category>
    </item>
    <item>
      <title>Function - JavaScript</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Sun, 10 Sep 2023 12:19:33 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/function-javascript-4n9i</link>
      <guid>https://dev.to/zouhair_sahtout/function-javascript-4n9i</guid>
      <description>&lt;p&gt;Functions are one of the fundamental building blocks in JavaScript.&lt;br&gt;
In JavaScript we have three type of function:&lt;br&gt;
&lt;strong&gt;function declaration&lt;/strong&gt;, &lt;strong&gt;function expression&lt;/strong&gt;, &lt;strong&gt;arrow function&lt;/strong&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Function Declaration:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;function declaration&lt;/strong&gt; (also called a &lt;strong&gt;function definition&lt;/strong&gt;, or &lt;strong&gt;function statement&lt;/strong&gt;) consists of the function keyword:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PP6K-yda--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3b1cs0r7amdcdq4oo2zj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PP6K-yda--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3b1cs0r7amdcdq4oo2zj.png" alt="Image description" width="800" height="431"&gt;&lt;/a&gt;With &lt;strong&gt;function declaration&lt;/strong&gt;, I &lt;strong&gt;can&lt;/strong&gt; call the function before I define it in the code&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Function Expression:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;function expression&lt;/strong&gt;(anonymous function) || remember expression produce a value, that's why we did store in a variable.&lt;br&gt;
With &lt;strong&gt;function expression&lt;/strong&gt; I can &lt;strong&gt;NOT&lt;/strong&gt; call the function &lt;strong&gt;before&lt;/strong&gt; I define it in the code.&lt;br&gt;
Internally this happens because of a process called &lt;strong&gt;Hoisting&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1W8sWKmi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gh23iv4091eb5vbkyxj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1W8sWKmi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gh23iv4091eb5vbkyxj7.png" alt="Image description" width="800" height="406"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Arrow Function
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;arrow function&lt;/strong&gt; (just added to JavaScript in ES6).&lt;br&gt;
In one line, without explicitly write the "return"&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZcIeoR6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u64809tfwzmfynibg03m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZcIeoR6i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u64809tfwzmfynibg03m.png" alt="Image description" width="800" height="219"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What type of function should I use?
&lt;/h2&gt;

&lt;p&gt;Arrow functions, since they are easy to write, the answer is &lt;strong&gt;NO&lt;/strong&gt;.&lt;br&gt;
Because there is a fundamental difference, between the arrow function and more traditional functions (function declaration).&lt;br&gt;
In fact the arrow function do &lt;strong&gt;NOT&lt;/strong&gt; get so called &lt;code&gt;this&lt;/code&gt; keyword&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Function Calling other function
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FpZzswux--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oy5w8nxnnveq3t7nzrp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FpZzswux--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oy5w8nxnnveq3t7nzrp2.png" alt="Image description" width="800" height="435"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Summary&lt;/strong&gt;&lt;br&gt;
Most of the time you are gonna use &lt;strong&gt;function expression&lt;/strong&gt; a lot, in JavaScript functions are actually just &lt;strong&gt;values&lt;/strong&gt;.&lt;br&gt;
So just as a number or a string or a boolean &lt;strong&gt;value&lt;/strong&gt;.&lt;br&gt;
Function is &lt;strong&gt;NOT&lt;/strong&gt; a type:&lt;br&gt;
It's not like a string or number type, &lt;strong&gt;it's a value&lt;/strong&gt;&lt;br&gt;
And because it's a value, that's why we can store it in a variable as we did above, the whole function get store it in a variable &lt;code&gt;calcAge2&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I hope that helps I tried my best to explain the main different there's actually more that I did not cover.&lt;br&gt;
And thank you if you read till here really appreciate it.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>functions</category>
      <category>developers</category>
      <category>fullstakc</category>
    </item>
    <item>
      <title>Strict Mode</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Sat, 09 Sep 2023 13:19:14 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/strict-mode-597d</link>
      <guid>https://dev.to/zouhair_sahtout/strict-mode-597d</guid>
      <description>&lt;p&gt;Using &lt;strong&gt;strict mood&lt;/strong&gt; to write &lt;strong&gt;secure&lt;/strong&gt; JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strict Mode&lt;/strong&gt; makes it easier for us developers to avoid accidental errors.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Without the &lt;code&gt;strict mode&lt;/code&gt; being active it's hard for me to guess where my code is broken.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9WT57adR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ozgil6hb53z3px3j0f4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9WT57adR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ozgil6hb53z3px3j0f4i.png" alt="Image description" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Strict Mode&lt;/strong&gt; also introduce a short list of variable names that are reserved for features, that might be added to the language a bit later.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7v5wBGQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tf3j2b6k9o82kbkaipbj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7v5wBGQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tf3j2b6k9o82kbkaipbj.png" alt="Image description" width="800" height="274"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Summary:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Strict mode&lt;/strong&gt; allows the JavaScript interpreter to make some optimization that it &lt;strong&gt;can't&lt;/strong&gt; do when using non-strict mode.&lt;br&gt;
With that said under &lt;code&gt;strict mode&lt;/code&gt; your code may well run faster. &lt;br&gt;
Plus strict mode makes the rules of the language clearer so you are less likely to make a wrong assumption about your code.&lt;br&gt;
Many people using &lt;code&gt;strict mode&lt;/code&gt; without even knowing it since ES modules are inherently strict. &lt;br&gt;
So if you're writing code in modules, which is generally how modern JavaScript is written these days, you're using it.&lt;/p&gt;

&lt;p&gt;I hope that help clarify what strict mode is and how helpful can be.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>programming</category>
      <category>react</category>
    </item>
    <item>
      <title>Type Conversion and Type Coercion - JavaScript</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Thu, 07 Sep 2023 08:04:11 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/type-conversion-and-type-coercion-javascript-39i1</link>
      <guid>https://dev.to/zouhair_sahtout/type-conversion-and-type-coercion-javascript-39i1</guid>
      <description>&lt;h2&gt;
  
  
  Type Conversion:
&lt;/h2&gt;

&lt;p&gt;In programming, type conversion or type casting is the process of explicitly converting a value from one type to another.&lt;br&gt;
For instance, you may have a string value of '5' and you want to convert it to a number value of 5 so that you can do some arithmetic operations on it.&lt;/p&gt;

&lt;p&gt;Converting a string into a number using &lt;code&gt;Number()&lt;/code&gt; or the unary plus (&lt;code&gt;+&lt;/code&gt;) operator.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cVatXKTu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4pou0be3r4xuf3z551ia.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cVatXKTu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4pou0be3r4xuf3z551ia.png" alt="Image description" width="800" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Trying to convert the string 'Zouhair' into a number results in NaN (Not-a-Number).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNcbpciF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4mjbdf59c5wzb6ckusj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNcbpciF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4mjbdf59c5wzb6ckusj.png" alt="Image description" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NaN is a special value in JavaScript, representing an "Invalid Number."&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lFBq0V3_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnmmoen4uwruioaslqpm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lFBq0V3_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnmmoen4uwruioaslqpm.png" alt="Image description" width="800" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We actually get a special "number" called NaN, which stands for Not a Number... Yeah, that's JavaScript for you. A number that is "not a number". There are some really strange and quirky aspects of JavaScript. The good news is that most of it doesn't get in your way in practical development. It's just when we start to dig down deeper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Type Coercion
&lt;/h2&gt;

&lt;p&gt;Type Coercion is when data types are converted implicitly by JavaScript. &lt;br&gt;
Although the conversion that we did mention above can also be called explicit coercion. There's so many different words for the same thing in programming.&lt;br&gt;
Typically coercion happens when you apply operators to values of different types.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2Dj8yRHA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mot7z4skse6mpc1srw3k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2Dj8yRHA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mot7z4skse6mpc1srw3k.png" alt="Image description" width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The "&lt;code&gt;+&lt;/code&gt;" operator trigger a coercion to strings so whenever an operation between a string and number, the number will convert to a string, and that's exactly what's happen in the template literals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MGU-_REu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iz6aee8226pprftoolhj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MGU-_REu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iz6aee8226pprftoolhj.png" alt="Image description" width="800" height="364"&gt;&lt;/a&gt;&lt;br&gt;
The "-" operator triggers coercion to numbers converting strings to numbers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In summary&lt;/strong&gt;: Type Conversion involves explicitly changing the data type of a value using functions like &lt;strong&gt;&lt;code&gt;Number()&lt;/code&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;code&gt;String()&lt;/code&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;On the other hand, Type Coercion is the automatic conversion that occurs during operations between values of different types, such as when the "&lt;code&gt;+&lt;/code&gt;" operator converts numbers to strings and the "&lt;code&gt;-&lt;/code&gt;" operator converts strings to numbers.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>coding</category>
      <category>development</category>
    </item>
    <item>
      <title>Operator Precedence</title>
      <dc:creator>Zouhair Sahtout</dc:creator>
      <pubDate>Wed, 06 Sep 2023 18:48:15 +0000</pubDate>
      <link>https://dev.to/zouhair_sahtout/operator-precedence-3065</link>
      <guid>https://dev.to/zouhair_sahtout/operator-precedence-3065</guid>
      <description>&lt;p&gt;Hello everyone, I hope you're doing well.&lt;/p&gt;

&lt;p&gt;Starting from now, I'm going to dive into some JavaScript do some review after finally completing my associate degree as a Web Full Stack Developer.&lt;br&gt;
I thought it might be a good idea to fill in the gaps that I may have missed during these past two years, where I covered almost everything from HTML, CSS, and JavaScript to Docker and Microservices.&lt;/p&gt;

&lt;p&gt;And because I'm now a huge fan of JavaScript, my plan is to dive deep into its intricacies, so let's jump in:&lt;br&gt;
Operator precedence for those who aren't familiar, essentially determines how operators are parsed in relation to each other.&lt;br&gt;
An example of this is when you have an arithmetic operation like &lt;strong&gt;3 + 4 * 5&lt;/strong&gt;.&lt;br&gt;
The higher the precedence, the earlier the operation is performed with respect to operators with lower precedence.&lt;/p&gt;

&lt;p&gt;In the example above, the operation begins with multiplication because it has a precedence of 12 (from left to right), followed by addition with a precedence of 11 (from left to right), which is lower. This is why in mathematics, multiplication and division typically take precedence over addition and subtraction. It's also worth noting that grouping or parentheses have a higher precedence, around 18, so they can change the order of operations.&lt;/p&gt;

&lt;p&gt;Now, let's shift our focus to the code below:&lt;br&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%2F0v1kuv817tun1me77y6e.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0v1kuv817tun1me77y6e.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, the "+" and "-" operators take precedence with a value of 11.&lt;br&gt;
On the other hand, the "&amp;gt;" operator has a precedence of 9.&lt;/p&gt;

&lt;p&gt;Usually, all the mathematical operators are executed before the comparison operators, and they are evaluated from left to right.&lt;br&gt;
This is different from the assignment operators, which execute from right to left and have a lower precedence of 2, this behavior is normal.&lt;br&gt;
Let's assume it executed from left to right; then, "x" would be assigned the value of "y," which is undefined.&lt;/p&gt;

&lt;p&gt;Alright with that said, if you read till here, thank you so much, that really means a lot.&lt;/p&gt;

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