<?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: Moazam Ali</title>
    <description>The latest articles on DEV Community by Moazam Ali (@moazamdev).</description>
    <link>https://dev.to/moazamdev</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%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg</url>
      <title>DEV Community: Moazam Ali</title>
      <link>https://dev.to/moazamdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moazamdev"/>
    <language>en</language>
    <item>
      <title>DevLog - An intuitive admin dashboard for managing blogs.</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Mon, 26 Jun 2023 08:38:29 +0000</pubDate>
      <link>https://dev.to/moazamdev/devlog-an-intuitive-admin-dashboard-for-managing-blogs-1gfk</link>
      <guid>https://dev.to/moazamdev/devlog-an-intuitive-admin-dashboard-for-managing-blogs-1gfk</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I have built an admin dashboard using React with Material UI, Supabase and Refine. The purpose of this dashboard is to efficiently manage blogs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;App Link: &lt;a href="https://devlog.vercel.app/"&gt;DevLog&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;Unfortunately, I haven't deployed the application online yet, so there is no app link available at the moment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;I will be adding screenshots of the admin dashboard soon to provide a visual representation of the interface and design.&lt;/p&gt;

&lt;p&gt;Blog posts&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---HUlBGzB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1jvvscddicct92i6ruyr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---HUlBGzB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1jvvscddicct92i6ruyr.png" alt="Blog posts" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Categories&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VATVpj5n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vkqr2iulzgwv3ya3bfee.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VATVpj5n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vkqr2iulzgwv3ya3bfee.jpg" alt="Categories" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pl0buT9B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdn19ney7pd77aszpx3y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pl0buT9B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdn19ney7pd77aszpx3y.jpg" alt="Create" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Edit&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ssKiFkyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qv2awe1g18mtkmz520it.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ssKiFkyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qv2awe1g18mtkmz520it.jpg" alt="Edit" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Show&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Ikdjad1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6aupevwaxn9ace5mb7bn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Ikdjad1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6aupevwaxn9ace5mb7bn.jpg" alt="Show" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;The project is an admin dashboard built using React, Material UI, and Refine. It allows users to manage blogs effectively, providing a user-friendly interface for various blog management tasks such as creating, editing, and deleting blog posts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;The source code for the project can be found on GitHub at the following repository:  &lt;a href="https://github.com/moazamdev/devlog"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;The project is licensed under the MIT License, which allows users to freely use, modify, and distribute the code, with the condition that the original license and copyright notice are included.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;I decided to build this admin dashboard to streamline the process of managing blogs. The inspiration behind it was to create a centralized platform where blog administrators can easily handle blog-related tasks, such as publishing new articles, updating existing content, and managing user comments.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;To build this project, I utilized React as the foundation for the frontend development. Material UI was used for creating a visually appealing and responsive user interface. Refine, a React library for building admin interfaces, was integrated to enhance the functionality of the dashboard. Throughout the development process, I gained new skills and knowledge in React, Material UI, and Refine, allowing me to create a robust and efficient admin dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;p&gt;Unfortunately, there are no additional resources or information available at the moment. However, feel free to explore the source code on GitHub and reach out if you have any specific questions or require assistance in understanding or utilizing the admin dashboard.&lt;/p&gt;




&lt;p&gt;Regards &lt;br&gt;
Moazam Ali&lt;/p&gt;

</description>
      <category>refinehackathon</category>
      <category>react</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Default exports &amp; Name exports</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Sat, 11 Feb 2023 04:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/default-exports-name-exports-264</link>
      <guid>https://dev.to/moazamdev/default-exports-name-exports-264</guid>
      <description>&lt;p&gt;The &lt;code&gt;export&lt;/code&gt; declaration lets you to export a specific part from JavaScript files which can be imported into other files using &lt;code&gt;import&lt;/code&gt; declaration for reusing. The &lt;code&gt;default&lt;/code&gt; prefix marks that function/class as an entry point (main function) in a file. &lt;/p&gt;

&lt;p&gt;The &lt;code&gt;export default&lt;/code&gt; prefix is a standard JavaScript Syntax(not specific to react). It lets you mark the main function in a file so that you can later import it from other files.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
Exporting a Button component by &lt;strong&gt;Default export&lt;/strong&gt;&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="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Exporting a Button component by &lt;strong&gt;Name export&lt;/strong&gt;&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="k"&gt;export&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;You can use both(default &amp;amp; name) of them in the same file.&lt;/li&gt;
&lt;li&gt;A file cannot have more than one default export but it can have as many named exports.&lt;/li&gt;
&lt;li&gt;How you export your component tells you how to import it because if you try to import a default export the same way you do a named export, it will log an &lt;em&gt;error&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Default export
&lt;/h2&gt;

&lt;p&gt;Export syntax:&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="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{...}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Import syntax:&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="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Name export
&lt;/h2&gt;

&lt;p&gt;Export syntax:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export function Button() {...}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Import syntax:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Button } from ‘./button.js’
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;When you are importing a component with &lt;code&gt;export default&lt;/code&gt;, you can put any name you want after &lt;code&gt;import&lt;/code&gt;. For example, &lt;code&gt;import Hello from ‘./button.js’&lt;/code&gt; instead of &lt;code&gt;import Button from ‘./button.js’&lt;/code&gt;. While in &lt;strong&gt;named imports&lt;/strong&gt;, the name has to match on both sides.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;em&gt;default exports&lt;/em&gt; when you have one component in the file and use &lt;em&gt;name exports&lt;/em&gt; when your file exports multiple components. &lt;/li&gt;
&lt;li&gt;Also, components without names like &lt;code&gt;export default () =&amp;gt; {...}&lt;/code&gt; are discouraged because they make debugging harder.&lt;/li&gt;
&lt;li&gt;To reduce the potential confusion between &lt;em&gt;default&lt;/em&gt; and &lt;em&gt;name&lt;/em&gt; exports, you can stick to only one style (default or named). For &lt;em&gt;default export&lt;/em&gt;, each file will need to export only one component. While for &lt;em&gt;name export&lt;/em&gt;, each file can export multiple components.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;Let’s connect on &lt;a href="https://www.linkedin.com/in/moazamdev/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>aws</category>
      <category>quantum</category>
    </item>
    <item>
      <title>String.endsWith() in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Tue, 10 Jan 2023 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/stringendswith-in-javascript-3kfd</link>
      <guid>https://dev.to/moazamdev/stringendswith-in-javascript-3kfd</guid>
      <description>&lt;p&gt;The &lt;code&gt;String.prototype.endsWith()&lt;/code&gt; method is a string method in JavaScript that returns a Boolean value indicating whether a string ends with a specified search string. This method is case-sensitive, meaning that it will return true only if the search string exactly matches the end of the target string.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;searchValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;searchValue&lt;/strong&gt;&lt;/em&gt;: A specified search string to be searched for at the end of the string.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;start&lt;/strong&gt;&lt;/em&gt;: The position within the string at which to begin searching for &lt;code&gt;searchString&lt;/code&gt;. (Defaults to &lt;code&gt;0&lt;/code&gt;.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It returns a boolean value, &lt;code&gt;true&lt;/code&gt; if the searched string is found at the end of the given string; otherwise &lt;code&gt;false&lt;/code&gt; if not found.&lt;/p&gt;

&lt;p&gt;Here's an example of how to use the &lt;code&gt;endsWith()&lt;/code&gt; method:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;World!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we create a string called &lt;code&gt;str&lt;/code&gt; and use the &lt;code&gt;endsWith()&lt;/code&gt; method to search for the substring &lt;code&gt;'world!'&lt;/code&gt; at the end of it. Since the search string exactly matches the end of the string &lt;code&gt;str&lt;/code&gt;, the &lt;code&gt;endsWith()&lt;/code&gt; method returns &lt;code&gt;true&lt;/code&gt;. However, if we search for the string &lt;code&gt;'World!'&lt;/code&gt;, which is not an exact match, the &lt;code&gt;endsWith()&lt;/code&gt; method returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;endsWith()&lt;/code&gt; method also accepts an optional second argument, which is the length of the substring to be searched within the target string. This is useful if you want to search for a substring within a specific part of the target string.&lt;/p&gt;

&lt;p&gt;Here's an example of using the optional second argument:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we search for the substring &lt;code&gt;'world!'&lt;/code&gt; within the first 12 characters of the string str. Since the string &lt;code&gt;'world!'&lt;/code&gt; appears at the end of the first 12 characters of &lt;code&gt;str&lt;/code&gt;, the &lt;code&gt;endsWith()&lt;/code&gt; method returns true.&lt;/p&gt;
&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;endsWith()&lt;/code&gt; method is a convenient and easy way to search for substrings at the end of a string in JavaScript. It's often used in combination with other string methods, such as &lt;code&gt;indexOf()&lt;/code&gt; and &lt;code&gt;substr()&lt;/code&gt;, to perform more complex string operations.&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&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%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>String.startsWith() in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Tue, 03 Jan 2023 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/stringstartswith-in-javascript-3bbf</link>
      <guid>https://dev.to/moazamdev/stringstartswith-in-javascript-3bbf</guid>
      <description>&lt;p&gt;The &lt;code&gt;String.prototype.startsWith()&lt;/code&gt; method is a string method in JavaScript that returns a Boolean value indicating whether a string starts with a specified search string. This method is case-sensitive, meaning that it will return true only if the search string exactly matches the beginning of the target string.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;searchValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;searchValue&lt;/strong&gt;&lt;/em&gt;: A specified search string to be searched for at the beginning of the string.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;start&lt;/strong&gt;&lt;/em&gt;: The position within the string at which to begin searching for &lt;code&gt;searchString&lt;/code&gt;. (Defaults to &lt;code&gt;0&lt;/code&gt;.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It returns a boolean value, &lt;code&gt;true&lt;/code&gt; if the searched string is found at the beginning of the given string; otherwise &lt;code&gt;false&lt;/code&gt; if not found.&lt;/p&gt;

&lt;p&gt;Here's an example of how to use the &lt;code&gt;startsWith()&lt;/code&gt; method:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we create a string called &lt;code&gt;str&lt;/code&gt; and use the &lt;code&gt;startsWith()&lt;/code&gt; method to search for the substring 'Hello' at the beginning of the string. Since the search string exactly matches the beginning of the string, the &lt;code&gt;startsWith()&lt;/code&gt; method returns true. However, if we search for the string 'hello', which is not an exact match, the &lt;code&gt;startsWith()&lt;/code&gt; method returns false.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;startsWith()&lt;/code&gt; method also accepts an optional second argument, which is the index at which the search should start. This is useful if you want to search for a substring within a specific part of the target string.&lt;/p&gt;

&lt;p&gt;Here's an example of using the optional second argument:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;world&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we search for the substring &lt;code&gt;'world'&lt;/code&gt; within the string &lt;code&gt;str&lt;/code&gt;, starting at the index &lt;code&gt;6&lt;/code&gt;. Since the string &lt;code&gt;'world'&lt;/code&gt; appears at index &lt;code&gt;7&lt;/code&gt;, the &lt;code&gt;startsWith()&lt;/code&gt; method returns true.&lt;/p&gt;
&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;startsWith()&lt;/code&gt; method is a convenient and easy way to check if a string starts with a specified substring in JavaScript. It's often used in combination with other string methods, such as &lt;code&gt;indexOf()&lt;/code&gt; and &lt;code&gt;substr()&lt;/code&gt;, to perform more complex string operations.&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&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%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>String.includes() in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Tue, 27 Dec 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/stringprototypeincludes-in-javascript-52ea</link>
      <guid>https://dev.to/moazamdev/stringprototypeincludes-in-javascript-52ea</guid>
      <description>&lt;p&gt;The &lt;code&gt;String.prototype.includes()&lt;/code&gt; method is a string method in JavaScript that returns a Boolean value indicating whether a string includes a specified search string. This method is case-sensitive, meaning that it will return &lt;code&gt;true&lt;/code&gt; only if the search string exactly matches a substring of the target string.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;searchValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;searchValue&lt;/strong&gt;&lt;/em&gt;: A specified search string to be searched for within a string.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;start&lt;/strong&gt;&lt;/em&gt;: The position within the string at which to begin searching for &lt;code&gt;searchString&lt;/code&gt;. (Defaults to &lt;code&gt;0&lt;/code&gt;.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It returns a boolean value, &lt;code&gt;true&lt;/code&gt; if the searched string is found within the given string; otherwise &lt;code&gt;false&lt;/code&gt; if not found.&lt;/p&gt;

&lt;p&gt;Here's an example of how to use the &lt;code&gt;includes()&lt;/code&gt; method:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we create a string called &lt;code&gt;str&lt;/code&gt; and use the &lt;code&gt;includes()&lt;/code&gt; method to search for the substring &lt;code&gt;'Hello'&lt;/code&gt; within it. Since the search string exactly matches the substring &lt;code&gt;'Hello'&lt;/code&gt;, the &lt;code&gt;includes()&lt;/code&gt; method returns true. However, if we search for the string &lt;code&gt;'hello'&lt;/code&gt;, which is not an exact match, the &lt;code&gt;includes()&lt;/code&gt; method returns &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;includes()&lt;/code&gt; method also accepts an optional second argument, which is the index at which the search should start. This is useful if you want to search for a substring within a specific part of the target string.&lt;/p&gt;

&lt;p&gt;Here's an example of using the optional second argument:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, world!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;world&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, we search for the substring &lt;code&gt;'world'&lt;/code&gt; within the string &lt;code&gt;str&lt;/code&gt;, starting at the index &lt;code&gt;6&lt;/code&gt;. Since the string &lt;code&gt;'world'&lt;/code&gt; appears at index &lt;code&gt;7&lt;/code&gt;, the &lt;code&gt;includes()&lt;/code&gt; method returns true.&lt;/p&gt;
&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;includes()&lt;/code&gt; method is a convenient and easy way to search for substrings within a string in JavaScript. It's often used in combination with other string methods, such as &lt;code&gt;indexOf()&lt;/code&gt; and &lt;code&gt;substr()&lt;/code&gt;, to perform more complex string operations.&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>welcome</category>
    </item>
    <item>
      <title>Function Rest Parameters in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Tue, 20 Dec 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/function-rest-parameters-in-javascript-2f1</link>
      <guid>https://dev.to/moazamdev/function-rest-parameters-in-javascript-2f1</guid>
      <description>&lt;p&gt;Function rest parameters are a feature in JavaScript introduced in the ES6 version of JavaScript that allows a function to accept an indefinite number of arguments as an array. These arguments are stored in an array that can be accessed within the function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;

&lt;p&gt;To create a function with a rest parameter, the parameter is declared with three dots &lt;code&gt;(...)&lt;/code&gt; followed by the name of the parameter. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;example&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Code goes here&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When the function is called, any number of arguments can be passed to it. These arguments are stored in the &lt;code&gt;args&lt;/code&gt; array, which can be accessed within the function like any other array.&lt;/p&gt;

&lt;p&gt;Here's an example of a function that uses a rest parameter to find the sum of all the arguments passed to it:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: 10&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// Output: 50&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, the &lt;code&gt;sum()&lt;/code&gt; function accepts a rest parameter called numbers, which is used to store the arguments passed to the function. The numbers array is then looped through using a for loop, and the sum of all the elements is calculated and returned.&lt;/p&gt;

&lt;p&gt;Rest parameters are useful when you want to write a function that can accept any number of arguments, but you don't know in advance how many arguments will be passed to the function. This allows you to write flexible and reusable code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br&gt;
However, it's important to note that the rest parameter must be the last parameter in the function declaration. This is because the rest parameter collects all the remaining arguments into an array, and if there are any other parameters after the rest parameter, they will not be included in the array.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We can also use the rest parameters with the regular parameters. Here's an example of a function that uses a rest parameter and a regular parameter:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;example&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;first&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Code goes here&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In this example, the &lt;code&gt;example()&lt;/code&gt; function accepts two arguments: a regular parameter called &lt;code&gt;first&lt;/code&gt; and a rest parameter called &lt;code&gt;args&lt;/code&gt;. The first parameter will contain the first argument passed to the function, and the &lt;code&gt;args&lt;/code&gt; array will contain all the remaining arguments.&lt;/p&gt;
&lt;h2&gt;
  
  
  Rest Parameters vs Arguments
&lt;/h2&gt;

&lt;p&gt;One key difference between rest parameters and the &lt;code&gt;arguments&lt;/code&gt; object is that rest parameters are actually &lt;code&gt;arrays&lt;/code&gt;, whereas the &lt;code&gt;arguments&lt;/code&gt; object is not. This means that you can use array methods, such as &lt;code&gt;map&lt;/code&gt; and &lt;code&gt;forEach&lt;/code&gt;, on rest parameters, but not on the &lt;code&gt;arguments&lt;/code&gt; object.&lt;/p&gt;

&lt;p&gt;For example, you could write the sum function like this using the &lt;code&gt;forEach&lt;/code&gt; method:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 15&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;Rest parameters are a useful feature in JavaScript that can help you write more concise and elegant code when working with an unknown number of arguments in a function. They are a great alternative to the arguments object and can make your code more readable and maintainable.&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>welcome</category>
    </item>
    <item>
      <title>Default Parameters in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Tue, 13 Dec 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/default-parameters-in-javascript-3f36</link>
      <guid>https://dev.to/moazamdev/default-parameters-in-javascript-3f36</guid>
      <description>&lt;p&gt;In this article, you will be learning about Default Parameters in JavaScript with some examples.&lt;/p&gt;

&lt;p&gt;Default parameters in JavaScript allow function parameters to be assigned default values if no value is passed to the function. This can be useful for setting a default behavior for a function or providing a fallback value in case the argument is undefined.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;

&lt;p&gt;In JavaScript, default parameters are set by providing an equal sign &lt;code&gt;(=)&lt;/code&gt; followed by the default value for the parameter. For example, the following function has a default parameter &lt;code&gt;x&lt;/code&gt; with a value of &lt;code&gt;10&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;myFunction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// function body&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If a value is not passed to the function for the &lt;code&gt;x&lt;/code&gt; parameter, the default value of &lt;code&gt;10&lt;/code&gt; will be used.&lt;/p&gt;
&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;Here are some examples of how default parameters can be used in JavaScript:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// default parameter for missing arguments&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;addNumbers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// x and y are 0, result is 0&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;addNumbers&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

&lt;span class="c1"&gt;// x is 5, y is still 0, result is 5&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;addNumbers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// x is 5, y is 10, result is 15&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;addNumbers&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the above example, the &lt;code&gt;addNumbers&lt;/code&gt; function has default parameters for &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; set to &lt;code&gt;0&lt;/code&gt;. If no arguments are passed to the function, or if only one argument is passed, the default value will be used.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// default parameter for undefined values&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;printName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;firstName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;lastName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Smith&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;firstName&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;lastName&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// prints "John Smith"&lt;/span&gt;
&lt;span class="nx"&gt;printName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// prints "Jane Doe"&lt;/span&gt;
&lt;span class="nx"&gt;printName&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Jane&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Doe&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;In the above example, the &lt;code&gt;printName&lt;/code&gt; function has a default parameter for &lt;code&gt;lastName&lt;/code&gt; set to &lt;code&gt;"Smith"&lt;/code&gt;. If no value is passed to the function for the &lt;code&gt;lastName&lt;/code&gt; parameter, the default value will be used.&lt;/p&gt;
&lt;h2&gt;
  
  
  Advantages
&lt;/h2&gt;

&lt;p&gt;There are several advantages to using default parameters in JavaScript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They provide a default behavior for a function, which can be useful if the function is often called with missing or undefined arguments.&lt;/li&gt;
&lt;li&gt;They can simplify function calls by allowing you to omit arguments that you don't need to specify.&lt;/li&gt;
&lt;li&gt;They can improve code readability by making it clear what values will be used if no arguments are passed to the function.&lt;/li&gt;
&lt;li&gt;They can provide a fallback value for arguments that may be undefined, which can help prevent errors in your code.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Disadvantages
&lt;/h2&gt;

&lt;p&gt;While default parameters can be useful in many cases, there are also some disadvantages to consider:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They can make it difficult to understand the expected arguments for a function, especially if the default values are complex or non-obvious.&lt;/li&gt;
&lt;li&gt;They can make it harder to refactor code since changing the default value of a parameter can potentially affect multiple places in your code.&lt;/li&gt;
&lt;li&gt;They can make it more difficult to write unit tests since you need to consider the default values as well as the values you pass to the function.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Wrapping up!
&lt;/h2&gt;

&lt;p&gt;Overall, default parameters can be a useful tool in JavaScript, but it's important to use them carefully and consider their potential drawbacks.&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later.&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rb9xKs4G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1VWEyr2B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--2eKhztml--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/768662/af252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>ES6 Symbol in JavaScript</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Sat, 10 Dec 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/es6-symbol-in-javascript-1l12</link>
      <guid>https://dev.to/moazamdev/es6-symbol-in-javascript-1l12</guid>
      <description>&lt;p&gt;ES6 Symbol in JavaScript is a new primitive data type introduced in the ECMAScript 6 specification. It is used to create unique, immutable values that can be used as property keys for objects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Symbols
&lt;/h2&gt;

&lt;p&gt;One of the main benefits of using symbols is that it prevents property name collision. For instance, if you have a property with the same name in two different objects, the property value of the first object will be overwritten by the second object. But with symbols, you can avoid this problem by creating unique keys for each property.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a Symbol
&lt;/h2&gt;

&lt;p&gt;To create a symbol, you can use the &lt;code&gt;Symbol()&lt;/code&gt; function. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// symbol&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You can also provide a description for the symbol as an argument to the &lt;code&gt;Symbol()&lt;/code&gt; function. This description is optional and is used for debugging purposes. For example:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My description&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Symbol(My description)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Accessing Symbol Description
&lt;/h2&gt;

&lt;p&gt;Symbol description can be accessed with the &lt;code&gt;.description&lt;/code&gt; property. For example,&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My description&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// My description&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Using as a Property Key
&lt;/h2&gt;

&lt;p&gt;Once you have created a symbol, you can use it as a property key for an object. For instance:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&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;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John Doe&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Private data&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;You can access the value of the symbol property using the square bracket notation &lt;code&gt;[]&lt;/code&gt;. For example:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt; &lt;span class="c1"&gt;// 'Private data'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Symbols are Unique
&lt;/h2&gt;

&lt;p&gt;It is important to note that symbols are unique and immutable. This means that if you create two symbols with the same description, they will not be equal. For instance:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;symbol1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My description&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;symbol2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My description&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;symbol1&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;symbol2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Symbols are Immutable
&lt;/h2&gt;

&lt;p&gt;In addition, you cannot modify the value of a symbol once it has been created. For example:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;New value&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// TypeError: Assignment to constant variable.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Encapsulating
&lt;/h2&gt;

&lt;p&gt;Another advantage of symbols is that they are not enumerable. This means that when you use a &lt;code&gt;for...in&lt;/code&gt; loop to iterate over the properties of an object, the symbol properties will not be included. This makes them ideal for storing private data in an object that you don't want to be accessible by external code. For example,&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// creating a symbol&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySymbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// creating an object with some properties&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John Doe&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;29&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mySymbol&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Private data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// for…in to loop through object properties&lt;/span&gt;
&lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;// Output:&lt;/span&gt;
&lt;span class="c1"&gt;// John Doe&lt;/span&gt;
&lt;span class="c1"&gt;// 29&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Symbols are a useful addition to the JavaScript language. They provide a way to create unique and immutable values that can be used as property keys for objects. This helps prevent property name collision and allows you to store private data in your objects&lt;/p&gt;

&lt;p&gt;That's all for this article, hope you learned something. Thanks for reading, catch you later!&lt;/p&gt;

&lt;p&gt;You can also buy me a coffee that would help me grow as a frontend developer :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/moazamdev" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F768662%2Faf252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>UX Researcher Qualities</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Sun, 04 Dec 2022 12:53:04 +0000</pubDate>
      <link>https://dev.to/moazamdev/ux-researcher-qualities-1c0f</link>
      <guid>https://dev.to/moazamdev/ux-researcher-qualities-1c0f</guid>
      <description>&lt;p&gt;&lt;strong&gt;Empathy:&lt;/strong&gt; &lt;br&gt;
Able to understand someone else's feelings or thoughts in a situation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pragmatism:&lt;/strong&gt; &lt;br&gt;
Focused on reaching goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaboration:&lt;/strong&gt; &lt;br&gt;
Can work with a range of people, personalities, and work styles.&lt;/p&gt;

</description>
      <category>gitlab</category>
      <category>selenium</category>
      <category>python</category>
      <category>help</category>
    </item>
    <item>
      <title>Quote by Dennis Ritchie</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Sun, 27 Nov 2022 17:12:35 +0000</pubDate>
      <link>https://dev.to/moazamdev/quote-by-dennis-ritchie-2ejl</link>
      <guid>https://dev.to/moazamdev/quote-by-dennis-ritchie-2ejl</guid>
      <description>&lt;p&gt;"The only way to learn a new programming language is by writing programs in it." - &lt;strong&gt;Dennis Ritchie&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>quote</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>Responsibilities of an Entry-Level UX Designer</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Mon, 21 Nov 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/responsibilities-of-an-entry-level-ux-designer-57fl</link>
      <guid>https://dev.to/moazamdev/responsibilities-of-an-entry-level-ux-designer-57fl</guid>
      <description>&lt;p&gt;The job of an entry-level UX/UI designer is to improve the user interface and user experience for an application or website. This involves finding ways to improve usability while still meeting design requirements and ensuring the website or application functions as necessary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. User research&lt;/strong&gt;&lt;br&gt;
User research is about understanding the people who use your product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Information architecture:&lt;/strong&gt;&lt;br&gt;
Information architecture, or IA for short, involves deciding how your product is organized and structured.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Wireframing:&lt;/strong&gt;&lt;br&gt;
A wireframe is a basic outline or sketch of a product or a screen, like an app or website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Prototyping:&lt;/strong&gt;&lt;br&gt;
A prototype is an early model of a product that demonstrates its functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Visual design:&lt;/strong&gt;&lt;br&gt;
Visual design focuses on how the product or technology looks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Effective communication:&lt;/strong&gt;&lt;br&gt;
Effective communication as a UX designer means connecting with your colleagues through emails, meetings, presentations, and design software.&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1VWEyr2B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--2eKhztml--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/768662/af252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ux</category>
      <category>design</category>
      <category>product</category>
      <category>writing</category>
    </item>
    <item>
      <title>Characteristics of User Experience (UX) Design</title>
      <dc:creator>Moazam Ali</dc:creator>
      <pubDate>Mon, 14 Nov 2022 15:30:00 +0000</pubDate>
      <link>https://dev.to/moazamdev/characteristics-of-user-experience-ux-design-445e</link>
      <guid>https://dev.to/moazamdev/characteristics-of-user-experience-ux-design-445e</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The strange thing about UX design is that you won't notice it when it's good. You will only notice it when it's bad.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;1. Usable&lt;/strong&gt;&lt;br&gt;
If a product is usable, it means the design, structure, and purpose of the product are clear and easy to use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Equitable&lt;/strong&gt;&lt;br&gt;
If a product is equitable, it means a design is helpful to people with diverse abilities and backgrounds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Enjoyable&lt;/strong&gt;&lt;br&gt;
If a product is enjoyable, it means the design delights the user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Useful&lt;/strong&gt;&lt;br&gt;
If a product is useful, that means it solves user problems.&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__768662"&gt;
    &lt;a href="/moazamdev" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1VWEyr2B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--2eKhztml--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/768662/af252436-ccc5-436c-8e6f-23897004848f.jpeg" alt="moazamdev image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/moazamdev"&gt;Moazam Ali&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/moazamdev"&gt;Frontend Developer who is always passionate in discovering new stuff and building networks.
&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ux</category>
      <category>design</category>
      <category>writing</category>
      <category>product</category>
    </item>
  </channel>
</rss>
