<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Shreya Purohit</title>
    <description>The latest articles on Forem by Shreya Purohit (@shreya).</description>
    <link>https://forem.com/shreya</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%2F394323%2F24847c27-8ead-4e8e-b004-5afcbb9b49fe.jpg</url>
      <title>Forem: Shreya Purohit</title>
      <link>https://forem.com/shreya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shreya"/>
    <language>en</language>
    <item>
      <title>Exploratory Data Analysis: A Step-by-Step Approach</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Mon, 23 Jan 2023 20:29:59 +0000</pubDate>
      <link>https://forem.com/shreya/exploratory-data-analysis-a-step-by-step-approach-11dd</link>
      <guid>https://forem.com/shreya/exploratory-data-analysis-a-step-by-step-approach-11dd</guid>
      <description>&lt;p&gt;Exploratory data analysis (EDA) is a method of analyzing and understanding data to gain insight and identify patterns, trends, and relationships within the data through visualizations and statistical techniques.&lt;/p&gt;

&lt;p&gt;The main goal of this analysis is to understand the trends and identify any potential issues or outliers that may need to be addressed before building models or making predictions.&lt;/p&gt;

&lt;p&gt;By performing EDA, analysts can make informed decisions about the data, identify areas that require further exploration, and ensure that the final model is robust and accurate.&lt;/p&gt;

&lt;p&gt;It is a crucial step in the data science process as it allows analysts to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gain a deeper understanding of the data they are working with.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identify patterns and correlations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identify outliers that may need to be addressed before building models or making predictions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, EDA is an iterative process, it can be done multiple times to dig deeper into the data and make sure that the final model is robust and accurate.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Let us now deep dive into the step-by-step approach to performing EDA:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Define the problem&lt;/strong&gt; 🎲&lt;strong&gt;:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first step in the exploratory data analysis process is to clearly define the question or problem you want to investigate. This will guide the data collection process and ensure that you are gathering the necessary data to answer your question.&lt;/p&gt;

&lt;p&gt;Once you have defined the problem, you can gather the relevant data from various sources such as &lt;em&gt;databases, spreadsheets, or external data sets (Kaggle, GitHub)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1674067227641%2Fdd3414ea-e220-42a8-9ea6-6faa2846f758.jpeg%2520align%3D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1674067227641%2Fdd3414ea-e220-42a8-9ea6-6faa2846f758.jpeg%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Clean and organize the data 🧹:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you have collected the data, it is important to clean and organize it to ensure that it is ready for analysis. This step involves removing any missing or irrelevant data, correcting any errors, and organizing the data in a way that makes it easy to work with. This might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Removing any missing/ irrelevant data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sorting the data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating new columns&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Merging multiple data sets, etc&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquantdare.com%2Fwp-content%2Fuploads%2F2016%2F11%2FDirtyBBDD-800x253.png%2520align%3D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquantdare.com%2Fwp-content%2Fuploads%2F2016%2F11%2FDirtyBBDD-800x253.png%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Univariate Analysis 🧮:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This step involves analyzing each variable individually to understand the distribution of the data and identify any outliers or anomalies. You can use statistical measures such as mean, median, mode, and standard deviation to describe the data, and visualizations such as histograms, box plots, and scatter plots to help you understand the distribution of the data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can use &lt;strong&gt;statistical measures&lt;/strong&gt; to describe data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mean, median, mode, standard deviation, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Data viz. to understand the distribution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;histograms, boxplots, scatterplots, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Bivariate Analysis 🔍:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bivariate analysis allows you to analyze the &lt;em&gt;relationship between pairs of variables&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Useful for identifying patterns or correlations in the data. Visualizations such as scatter plots, line plots, and bar charts help you understand the relationship b/w variables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Multivariate Analysis 📉:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Multivariate analysis allows you to analyze the &lt;em&gt;relationship among multiple variables&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Helps you gain a deeper understanding of the data and identify any trends or patterns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use techniques such as principal &lt;strong&gt;component analysis, factor analysis,&lt;/strong&gt; and &lt;strong&gt;cluster analysis&lt;/strong&gt; to conduct multivariate analysis.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Data visualization 🧙‍♂️:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you're done with data analysis, it's time to be a data wizard and create some visuals to get some deeper insights and communicate your findings. 🧙‍♂️&lt;/p&gt;

&lt;p&gt;Data visualization is an important step in the exploratory data analysis process. It allows you to better understand the data and communicate your findings to others.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use data viz libraries such as &lt;strong&gt;Matplotlib, Seaborn, Plotly and Bokeh&lt;/strong&gt; to create scatter plots &amp;amp; heat maps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1551288049-bebda4e38f71%3Fixlib%3Drb-4.0.3%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D870%26q%3D80%2520align%3D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1551288049-bebda4e38f71%3Fixlib%3Drb-4.0.3%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D870%26q%3D80%2520align%3D" width="870" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Draw conclusions and identify the next steps 🎯:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you have completed the exploratory data analysis, you should summarize your findings, draw conclusions, and identify any next steps for further analysis or investigation.&lt;/p&gt;

&lt;p&gt;This step allows you to make sense of the data and determine what additional analysis or research is needed to answer your initial question or problem.&lt;/p&gt;




&lt;p&gt;To conclude, Exploratory Data Analysis (EDA) is an invaluable step in the data science process that allows analysts to gain a deeper understanding of the data, identify patterns and correlations, and identify outliers that need to be addressed before building models or making predictions.&lt;/p&gt;

&lt;p&gt;By following a step-by-step process, analysts can make sense of the data and explore new possibilities to answer questions and solve problems.&lt;/p&gt;

&lt;p&gt;Thanks for reading! 👋&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1615722788496760832-328" src="https://platform.twitter.com/embed/Tweet.html?id=1615722788496760832"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1615722788496760832-328');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1615722788496760832&amp;amp;theme=dark"
  }



&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>career</category>
      <category>rag</category>
    </item>
    <item>
      <title>Learn data analysis for free - A Study Plan</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Mon, 28 Nov 2022 07:03:39 +0000</pubDate>
      <link>https://forem.com/shreya/learn-data-analysis-for-free-from-youtube-study-plan-l5g</link>
      <guid>https://forem.com/shreya/learn-data-analysis-for-free-from-youtube-study-plan-l5g</guid>
      <description>&lt;p&gt;Hey there! Are you looking to learn Data Analysis?&lt;/p&gt;

&lt;p&gt;Here are some excellent short &amp;amp; concise playlists to follow.&lt;/p&gt;

&lt;p&gt;Topics covered:&lt;/p&gt;




&lt;h3&gt;
  
  
  🐍 0. Python:
&lt;/h3&gt;

&lt;p&gt;Want to brush up your python skills right from the fundamentals? This playlist will do the job -&lt;/p&gt;

&lt;p&gt;&lt;a href="//youtube.com/playlist?list=PL-osiE80TeTskrapNbzXhwoFUiLCjGgY7"&gt;Python Programming Beginner Tutorials - Corey Schafer&lt;/a&gt;&lt;/p&gt;

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




&lt;h3&gt;
  
  
  🔢 1. NumPy:
&lt;/h3&gt;

&lt;p&gt;This is a 1-hour video covering concepts like arrays, indexing, math, statistics, reshaping, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="//youtu.be/QUT1VHiLmmI"&gt;Python NumPy Tutorial - Freecodecamp&lt;/a&gt;&lt;/p&gt;

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




&lt;h3&gt;
  
  
  🧮 2. Pandas:
&lt;/h3&gt;

&lt;p&gt;One of the most widely used library to analyse data, this playlist covers everything you need to know -&lt;/p&gt;

&lt;p&gt;&lt;a href="//youtube.com/playlist?list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS"&gt;Pandas Tutorials - Corey Schafer&lt;/a&gt;&lt;/p&gt;

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




&lt;h3&gt;
  
  
  📊 3. Matplotlib:
&lt;/h3&gt;

&lt;p&gt;Now that you know how to analyze data, it's time to create beautiful plots for visualization -&lt;/p&gt;

&lt;p&gt;&lt;a href="//youtube.com/playlist?list=PL-osiE80TeTvipOqomVEeZ1HRrcEvtZB_"&gt;Matplotlib Tutorials - Corey Schafer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y3AZmh-t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eqjdhga712903bf10tme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y3AZmh-t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eqjdhga712903bf10tme.png" alt="Matplotlib" width="880" height="454"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  📈 4. Seaborn:
&lt;/h3&gt;

&lt;p&gt;Built up on matplotlib, Seaborn takes a level-up and makes it easier to work with dataframes and make more descriptive plots-&lt;/p&gt;

&lt;p&gt;&lt;a href="//youtu.be/6GUZXDef2U0"&gt;Seaborn Tutorial - Derek Banas&lt;/a&gt;&lt;/p&gt;

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




&lt;h3&gt;
  
  
  🧙 5. Plotly:
&lt;/h3&gt;

&lt;p&gt;Want to level-up your plotting games and make interactive, animated plots? Learn Plotly -&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/GGL6U0k8WYA"&gt;Plotly Tutorial - Derek Banas&lt;/a&gt;&lt;/p&gt;

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




&lt;h2&gt;
  
  
  🏗️ Data Analysis Projects:
&lt;/h2&gt;

&lt;p&gt;Woosh, you now know the data analysis libraries, it's time to make some projects, right?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="//youtu.be/8d7ywKCm6HI"&gt;Spotify Data Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//youtu.be/eMOA1pPVUc4"&gt;Sales analysis with Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//youtu.be/kLDTbavcmd0"&gt;Exploratory Data Analysis Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's all for this one! Thanks for reading :)&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>data</category>
      <category>database</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Resources that will help you get started as a Technical Writer</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Fri, 11 Feb 2022 13:34:08 +0000</pubDate>
      <link>https://forem.com/shreya/resources-that-will-can-help-you-get-started-as-a-technical-writer-l72</link>
      <guid>https://forem.com/shreya/resources-that-will-can-help-you-get-started-as-a-technical-writer-l72</guid>
      <description>&lt;h1&gt;
  
  
  Technical Writing 101
&lt;/h1&gt;

&lt;p&gt;Technical writing means writing a documentation in a way that it is easy-to-understand for both technical as well as non-technical people. &lt;/p&gt;

&lt;p&gt;If you have the right resources, the journey can be a little easier and can save you loads of time:&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ Challenges To Commit:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write 1 article/ week.&lt;/li&gt;
&lt;li&gt;Write 500 words/ day.&lt;/li&gt;
&lt;li&gt;At least 4-5 blogs/ month.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Consider joining public challenges like 2articles1week by Hashnode. It will give you a push to write as you're committing in public: &lt;br&gt;
&lt;a href="https://hashnode.com/@eyeshreya/joinme"&gt;Hashnode: #2articles1week Challenge&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 Learn:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Coursera's tech writing course: &lt;br&gt;
&lt;a href="//coursera.org/learn/technical-writing"&gt;Visit Here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Google's Technical Writing Course: &lt;br&gt;
&lt;a href="//developers.google.com/tech-writing"&gt;Visit Here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🧩 Where to Publish -  Build Portfolio
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Your Own Blog&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hashnode.com/@eyeshreya/joinme"&gt;Hashnode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="//dev.to"&gt;DEV&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//medium.com"&gt;Medium&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  💵 Paid Article Writing Platforms
&lt;/h3&gt;

&lt;p&gt;This is the section that interests people the most. &lt;br&gt;
But you should have a writing portfolio first as they look out for articles you've published and reach out to you if it goes well.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="//whopaystechnicalwriters.com"&gt;Who Pays Technical Writers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//github.com/tigthor/PaidCommunityWriterPrograms"&gt;Paid Community Writer Programs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ⚒️ Tools
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://hemingwayapp.com/"&gt;Hemmingway Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.grammarly.com/"&gt;Grammarly Chrome Extension&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  📷 Cover Images
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.canva.com/"&gt;Canva&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="//coverview.vercel.app"&gt;CoverView&lt;/a&gt; (this is one of my favorites) &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📽️ YouTube Channels
&lt;/h3&gt;

&lt;p&gt;🔗 &lt;a href="https://www.youtube.com/c/AmrutaRanade"&gt;Amruta Ranade&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Remember you're doing this for yourself only, so don't take it as a liability. Enjoy the process and don't pressurize. &lt;br&gt;
Don't worry about the completion of goals, something is always better than nothing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks for reading. Hope it helped you.&lt;/p&gt;

</description>
      <category>writing</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Learn TailwindCSS: Make A Profile Card</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Mon, 17 Jan 2022 18:46:03 +0000</pubDate>
      <link>https://forem.com/shreya/learn-tailwindcss-make-a-profile-card-597d</link>
      <guid>https://forem.com/shreya/learn-tailwindcss-make-a-profile-card-597d</guid>
      <description>&lt;p&gt;Tailwind is a CSS framework that lets you build amazing responsive UI with less effort. &lt;br&gt;
If you're learning TailwindCSS, this blog can help you to build concepts stronger by creating a mini profile card with a button in less than 5 minutes. &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%2Fjir3csift2d3h44mginl.jpg" 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%2Fjir3csift2d3h44mginl.jpg" alt="profile"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First you need to install Tailwind in your project. Now there are 3 ways as given below. Visit the one you prefer. As this is a simple card, I'll just use CDN:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Through CLI (fastest): &lt;a href="https://tailwindcss.com/docs/installation" rel="noopener noreferrer"&gt;read here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Through CDN: &lt;a href="https://tailwindcss.com/docs/installation/play-cdn" rel="noopener noreferrer"&gt;read here&lt;/a&gt; - &lt;code&gt;we will use this&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;As a PostCSS plugin: &lt;a href="https://tailwindcss.com/docs/installation/using-postcss" rel="noopener noreferrer"&gt;read here&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We're using CDN for this project. So add this &lt;code&gt;link&lt;/code&gt; inside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css"&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;If you're using React, I have a step-by-step blog on it already. &lt;br&gt;
&lt;em&gt;Read it here&lt;/em&gt;: &lt;a href="https://dev.to/shreya/how-to-setup-tailwind-in-your-project-3075"&gt;How to setup TailwindCSS in your React App&lt;/a&gt;&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;Now we're ready to use Tailwind. Let's start by defining the basic structure first:

&lt;ul&gt;
&lt;li&gt;To use the image used in this project, copy &lt;a href="https://www.disneyplusinformer.com/wp-content/uploads/2021/09/The-Simpsons-Profile-Icons-8.png" rel="noopener noreferrer"&gt;this link&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;   &lt;span class="c"&gt;&amp;lt;!-- main - parent div --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"main"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="c"&gt;&amp;lt;!--card--&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"card"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="c"&gt;&amp;lt;!--profile-image--&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"image"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"#"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"profile"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="c"&gt;&amp;lt;!--name--&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Simp&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="c"&gt;&amp;lt;!--username--&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"username"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;@simpyy&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="c"&gt;&amp;lt;!--work--&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"work"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Front-end developer 🧑‍💻&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="c"&gt;&amp;lt;!-- follow button --&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;button&amp;gt;&lt;/span&gt;Follow&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's what you see right now. &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%2Fxvzz63b400sq4rgz9msy.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%2Fxvzz63b400sq4rgz9msy.png" alt="first"&gt;&lt;/a&gt;&lt;br&gt;
Pretty boring right?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let's make it interesting by adding classes that Tailwind provides us:&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;We'll start from top to bottom to avoid confusions. But first I'll pick up the div having a class &lt;code&gt;"card"&lt;/code&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;CARD SECTION&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"card bg-white flex flex-col items-center justify-center p-4 shadow-lg rounded-2xl w-64"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;bg-white&lt;/code&gt;: sets the white background to the &lt;code&gt;div&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;flex items-center justify-center&lt;/code&gt;: works just as we centre a div using CSS flexbox model. 

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;flex:&lt;/code&gt; sets display to flex&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;items-center:&lt;/code&gt; &lt;code&gt;align-items: center;&lt;/code&gt; in CSS&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;justify-center:&lt;/code&gt; &lt;code&gt;justify-content: center;&lt;/code&gt; in CSS&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;p-4:&lt;/code&gt; sets a padding of 1rem

&lt;ul&gt;
&lt;li&gt;check all possible values &lt;a href="https://tailwindcss.com/docs/padding" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;shadow-lg:&lt;/code&gt; sets shadow to the div

&lt;ul&gt;
&lt;li&gt;possible values: &lt;code&gt;sm | md | lg | xl | 2xl | inner&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&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%2Fguoxqtwh0xueoryt7hnh.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%2Fguoxqtwh0xueoryt7hnh.png" alt="maindiv"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;rounded-2xl:&lt;/code&gt; sets border radius to the element

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;md | lg | full | xl | 2xl&lt;/code&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;w-64:&lt;/code&gt; We want our card to be of a fixed width so setting it accordingly.&lt;/li&gt;
&lt;li&gt;Experiment with &lt;code&gt;w-{number}&lt;/code&gt; and &lt;a href="https://tailwindcss.com/docs/width#fixed-widths" rel="noopener noreferrer"&gt;explore more&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Result:
&lt;/h4&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%2Fkldobfbers1eefbg1ttm.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%2Fkldobfbers1eefbg1ttm.png" alt="card-div"&gt;&lt;/a&gt;&lt;br&gt;
Our card has started getting shape, so let's center it and start designing! &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;PARENT (TOPMOST) DIV&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To center the &lt;code&gt;card&lt;/code&gt; div, I'd take the parent div &lt;code&gt;main&lt;/code&gt; and set CSS grid to it:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- parent div --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"main bg-yellow-400 grid place-items-center h-screen"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;bg-yellow-400:&lt;/code&gt; set the yellow background color. 

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;bg&lt;/code&gt;: background&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;yellow&lt;/code&gt;: color | try more colors available &lt;a href="https://tailwindcss.com/docs/customizing-colors#default-color-palette" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;400&lt;/code&gt;: shades | ranges from 50-900&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;grid h-screen place-items-center:&lt;/code&gt; To centre the card div

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;grid:&lt;/code&gt; sets display to grid&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;place-items-center&lt;/code&gt;

&lt;ul&gt;
&lt;li&gt;works like &lt;code&gt;place-items: center;&lt;/code&gt; in css&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;h-screen:&lt;/code&gt; sets full viewport height (full width as screen)&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Result:
&lt;/h4&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%2Ffqlr1yezlh8gsb59k4dg.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%2Ffqlr1yezlh8gsb59k4dg.png" alt="bg"&gt;&lt;/a&gt;&lt;br&gt;
Now the card looks much better and visible. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;PROFILE PICTURE DIV&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"profile mx-auto rounded-full py-2 w-16 "&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"/simp.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"profile"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To use the image used in this project, copy &lt;a href="https://www.disneyplusinformer.com/wp-content/uploads/2021/09/The-Simpsons-Profile-Icons-8.png" rel="noopener noreferrer"&gt;this link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mx-auto:&lt;/code&gt; sets equal margins to both (left and right) sides, so centres the image&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rounded-full:&lt;/code&gt; gives the circular shape 

&lt;ul&gt;
&lt;li&gt;works just like &lt;code&gt;border-radius: 50%&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;py-2:&lt;/code&gt; sets &lt;code&gt;padding-top&lt;/code&gt; and &lt;code&gt;padding-bottom&lt;/code&gt; values to 0.5rem both&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;w-16:&lt;/code&gt; sets image width

&lt;ul&gt;
&lt;li&gt;sizes the image according to the card (experiment with the values)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Result:
&lt;/h4&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%2F2rl62pz7ibprams0h2wr.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%2F2rl62pz7ibprams0h2wr.png" alt="img"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;NAME DIV&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"name text-gray-800 text-2xl font-medium mt-4 "&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Simp&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;text-gray-800:&lt;/code&gt; sets the &lt;code&gt;font-color&lt;/code&gt; property to greyish black&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;text-2xl:&lt;/code&gt; increases the font size

&lt;ul&gt;
&lt;li&gt;possible values: &lt;code&gt;sm | base | lg | xl | 2xl ...&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;font-medium:&lt;/code&gt; sets the &lt;code&gt;font-weight&lt;/code&gt; property

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;light | normal | medium | semibold | bold&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;mt-4:&lt;/code&gt; sets &lt;code&gt;margin-top&lt;/code&gt;
&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;USERNAME DIV&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"username text-gray-500"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;@simpyy&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;text-gray-500:&lt;/code&gt; sets the font color to light gray.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;WORK DIV&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"work text-gray-700 mt-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Front-end developer 🧑‍💻&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;text-gray-700:&lt;/code&gt; changes the font color to gray.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mt-4:&lt;/code&gt; sets &lt;code&gt;margin-top&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&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%2F15mgokbbxs4lztt4rhin.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%2F15mgokbbxs4lztt4rhin.png" alt="fonts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now almost everything is done. Let's do the final work of designing the &lt;em&gt;Follow Button&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;FOLLOW BUTTON&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"w-full mt-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"bg-blue-500 py-2 px-4 hover:bg-blue-600 text-white w-full font-semibold rounded-lg shadow-lg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        Follow
    &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;div&lt;/em&gt;:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;w-full&lt;/code&gt; sets the full width (according to the parent div) so covers the card properly.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mt-8:&lt;/code&gt; sets &lt;code&gt;margin-top&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;button&lt;/em&gt;:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;bg-blue-500:&lt;/code&gt; sets the blue color

&lt;ul&gt;
&lt;li&gt;explore all the possible colors &lt;a href="https://tailwindcss.com/docs/customizing-colors" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;py-2&lt;/code&gt; and &lt;code&gt;px-4&lt;/code&gt;: sets &lt;code&gt;padding-bottom&lt;/code&gt; and &lt;code&gt;padding-top&lt;/code&gt;, respectively&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;text-white:&lt;/code&gt; sets the &lt;code&gt;font-color&lt;/code&gt; to white&lt;/li&gt;

&lt;li&gt;
&lt;code&gt;hover:bg-blue-600&lt;/code&gt;: sets the CSS hover properties, in this case we've simply increased the shade from &lt;code&gt;500 to 600&lt;/code&gt; to give it a realistic look.&lt;/li&gt;

&lt;/ul&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%2F7dps19n5nsdjtcags3mb.gif" 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%2F7dps19n5nsdjtcags3mb.gif" alt="btn"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Congratulations! 🎉 Your follow card is completed now.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My motive for this post was to make you understand how to add Tailwind classes to a project. I hope I was able to complete this job.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;




&lt;p&gt;I share content related to web development and technical writing on &lt;a href="https://twitter.com/eyeshreya" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; daily. &lt;/p&gt;

&lt;p&gt;Would love to connect!&lt;/p&gt;

</description>
      <category>tailwindcss</category>
      <category>css</category>
      <category>frontend</category>
    </item>
    <item>
      <title>How to setup Tailwind in your project</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Sun, 09 Jan 2022 09:41:42 +0000</pubDate>
      <link>https://forem.com/shreya/how-to-setup-tailwind-in-your-project-3075</link>
      <guid>https://forem.com/shreya/how-to-setup-tailwind-in-your-project-3075</guid>
      <description>&lt;p&gt;Tailwind is a utility-first framework consisting of various classes to help you build clear and responsive designs fast inside HTML markup file.&lt;br&gt;
In this post, you will learn how to set up tailwind in you project step-by-step.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new directory:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tailwind-website&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Generate a &lt;code&gt;package.json&lt;/code&gt; file:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;init&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-y&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Now we can install all our required dependencies. Simply install Tailwind using the command:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;tailwindcss&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Inside your project folder, create these files:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;./public
./src
   ../styles.css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our project will have two stylesheets, one inside &lt;code&gt;public&lt;/code&gt; folder, which will contain all the Tailwind classes we talked about earlier. To get this, we'll make use of our second CSS file which is in the &lt;code&gt;src&lt;/code&gt; folder.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add custom styles for Tailwind in your source file:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/*   src/styles.css:   */&lt;/span&gt;
&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@tailwind&lt;/span&gt; &lt;span class="n"&gt;utilities&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we need to write a script that will process Tailwind classes inside our &lt;code&gt;public&lt;/code&gt; folder.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write the build script inside &lt;code&gt;package.json&lt;/code&gt;. You can name it whatever you want. I call it &lt;code&gt;build-tw&lt;/code&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"scripts"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="nl"&gt;"build-tw"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tailwindcss build src/styles.css -o public/styles.css"&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;src/styles.css&lt;/code&gt; → source css file&lt;br&gt;
&lt;code&gt;public/styles.css&lt;/code&gt; → output css file&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The final step is to run the script. Simply open your terminal and run the command:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;run the above script:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;build-tw&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# runs tailwind and generate the output css file &lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# (public/styles.css) where all our css lies.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it's done. Check out the file &lt;code&gt;public/styles.css&lt;/code&gt; which was empty before.  All the Tailwind CSS utilities can be now found in &lt;code&gt;public/styles.css&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That's all for this one. Let me know if you've any doubts. Thank you for reading!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tailwindcss</category>
      <category>css</category>
    </item>
    <item>
      <title>ES6 Handbook: Everything You Need to Know</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Sun, 19 Sep 2021 19:32:46 +0000</pubDate>
      <link>https://forem.com/shreya/es6-handbook-everything-you-need-to-know-1ea7</link>
      <guid>https://forem.com/shreya/es6-handbook-everything-you-need-to-know-1ea7</guid>
      <description>&lt;p&gt;Hey readers! This blog is all about ES6. It includes all the topics related with examples. Before reading further, I want to specify that this was not a blog post initially, these are just my personal notes that I use as a reference guide, so I apologize for any misspells here :)&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  let/const
&lt;/li&gt;
&lt;li&gt;  objects
&lt;/li&gt;
&lt;li&gt;  this
&lt;/li&gt;
&lt;li&gt;  arrow functions
&lt;/li&gt;
&lt;li&gt;  destructuring
&lt;/li&gt;
&lt;li&gt;  spread
&lt;/li&gt;
&lt;li&gt;  classes
&lt;/li&gt;
&lt;li&gt;  modules
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Notes
&lt;/h2&gt;

&lt;h2&gt;
  
  
  let/const
&lt;/h2&gt;

&lt;p&gt;Before moving to the point, let us understand two concepts here:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Global Scope&lt;/strong&gt; - Variable is declared outside the function. This variable is accessible inside every function present in the code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Function Scope&lt;/strong&gt; - Variable is declared inside (within) a function, outside that it is not accessible anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Block Scope&lt;/strong&gt; - In short, block scope means variables which are declared in a { } block are not accessible outside it.
This block can be an &lt;code&gt;if&lt;/code&gt; statement, &lt;code&gt;for&lt;/code&gt;/&lt;code&gt;while&lt;/code&gt; loop, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;code&gt;var&lt;/code&gt;&lt;/strong&gt;: function/ global scoped. Eg:
&lt;/h3&gt;

&lt;p&gt;→ as you can see, var is both global and function scoped, which often creates a confusion. So avoid using 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;var&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Jack&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;              &lt;span class="c1"&gt;// global scope&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;msg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hey Jack!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;       &lt;span class="c1"&gt;//function scope&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="nx"&gt;msg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;               &lt;span class="c1"&gt;// ERROR&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above line of code will throw an error as there's no variable &lt;code&gt;msg&lt;/code&gt; outside the function &lt;code&gt;message&lt;/code&gt; (where we have logged the variable). So it will show as &lt;code&gt;undefined&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;code&gt;let&lt;/code&gt;&lt;/strong&gt;: block scoped. Eg:
&lt;/h3&gt;

&lt;p&gt;→ &lt;code&gt;let&lt;/code&gt; keyword can't be redeclared:&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;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&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="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;result: SyntaxError - redeclaration of let x&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But when we use &lt;code&gt;let&lt;/code&gt; inside a function, it works like:&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;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;big&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;box&lt;/span&gt;&lt;span class="p"&gt;()&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;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;x&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;7&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="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="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;//Output: ReferenceError - `size` is not defined&lt;/span&gt;

        &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;small&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="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&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;box&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;                          &lt;span class="c1"&gt;// small&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;size&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;              &lt;span class="c1"&gt;//big&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside the function &lt;code&gt;box()&lt;/code&gt; when we log the value of size, it shows a reference error. That is because, &lt;code&gt;let&lt;/code&gt; is block scoped. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anything inside curly braces { } is block scoped.&lt;/strong&gt; In the above scenario, the function &lt;code&gt;box()&lt;/code&gt; is a block.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;code&gt;const&lt;/code&gt;&lt;/strong&gt;: block scoped. Eg:
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;const&lt;/code&gt; are very similar to &lt;code&gt;let&lt;/code&gt; except that they can't be changed and redeclared.&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;m&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&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="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;             &lt;span class="c1"&gt;//m = 8&lt;/span&gt;

&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="o"&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;// 🚫 this will throw an error &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;m&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Uncaught TypeError: invalid assignment to const 'm'.&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;→ therefore &lt;code&gt;let&lt;/code&gt; and &lt;code&gt;const&lt;/code&gt; are preferred over &lt;code&gt;var&lt;/code&gt; keyword for declaring variables.&lt;/p&gt;




&lt;h2&gt;
  
  
  Objects
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;objects are written within curly braces &lt;code&gt;{ }&lt;/code&gt; as collection of key:value pairs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;key&lt;/code&gt;: property name&lt;/p&gt;

&lt;p&gt;&lt;code&gt;value&lt;/code&gt;: value of that property&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating an empty object:
&lt;/li&gt;
&lt;/ul&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;car&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Tesla&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;black&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;800&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Talking specifically about ES6, before ES6 we had to specify both (key, value) even if both are of same names.&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;Boy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&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="p"&gt;(&lt;/span&gt;
        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;age&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;ES6 help us to get rid of duplication when we have same key:value names. So now our code will look like this:&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;Boy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&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="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&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;h2&gt;
  
  
  this
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;this&lt;/code&gt; is a keyword. It basically returns a reference to the object it is placed within&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;NOTE&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When we call a function as a method in an object, the &lt;code&gt;this&lt;/code&gt; keyword returns a reference to that object. 👇
&lt;/li&gt;
&lt;/ul&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;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;Mike&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;call&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="k"&gt;this&lt;/span&gt;&lt;span class="p"&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;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;call&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// ⚙️ Output: {name: 'Mike, call: f} &lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;But when we call the function alone, outside the object &lt;code&gt;this&lt;/code&gt; returns the global object (browser window) and hence we get the result as &lt;strong&gt;&lt;em&gt;undefined&lt;/em&gt;&lt;/strong&gt; 👇
&lt;/li&gt;
&lt;/ul&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;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;Mike&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;call&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="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&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;myCall&lt;/span&gt; &lt;span class="o"&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;call&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nx"&gt;myCall&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// ⚙️ Output: undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Arrow Functions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  Normally, before ES6:
&lt;/li&gt;
&lt;/ul&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;square&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&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;num&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;num&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;ul&gt;
&lt;li&gt;  In ES6:
&lt;/li&gt;
&lt;/ul&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;square&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  array.map()
&lt;/h3&gt;

&lt;p&gt;If we have an array -&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;colors&lt;/span&gt; &lt;span class="o"&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;red&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;green&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;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We want to map the objects. Now there are two methods, &lt;code&gt;es6&lt;/code&gt; one is shorter and easier.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  normal case:
&lt;/li&gt;
&lt;/ul&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;items1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;color&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;color&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/li&amp;gt;&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  es6:
&lt;/li&gt;
&lt;/ul&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;items2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;li&amp;gt; &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;color&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;  &amp;lt;/li&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Object Destructuring
&lt;/h2&gt;

&lt;p&gt;Let's say we have an object called &lt;code&gt;girl&lt;/code&gt; such that it has 3 keys as follows:&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;girl&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="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="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;country&lt;/span&gt;&lt;span class="p"&gt;:&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  Normally, we would do something like this to get the values:
&lt;/li&gt;
&lt;/ul&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;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;girl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&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;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;girl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;age&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;country&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;girl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;country&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;  here, as you can see we have to repeat the object name &lt;code&gt;girl&lt;/code&gt; everytime we want to get a value. This problem can be solved by object destructuring:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const { name, age, country } = girl;&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;this one line code works same as the previous code. So destructuring made our code shorter and easier to understand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  In case you want to use an alias (a different variable name) for your work:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const {country: ctry} = girl;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This above line of code means we've defined a new variable called &lt;code&gt;ctry&lt;/code&gt; and set that equals to &lt;code&gt;country&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Spread Operator
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;CASE I - COMBINING ARRAYS&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  If we want to combine these two arrays:
&lt;/li&gt;
&lt;/ul&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;one&lt;/span&gt; &lt;span class="o"&gt;=&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;two&lt;/span&gt; &lt;span class="o"&gt;=&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="mi"&gt;6&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;  without ES6:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const combined = one.concat(two);&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  With ES6:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const combined = [...one, ...two];&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  If we want to add things in-between:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const combined = [...one, '9', '7', ...two ];&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  If we want to clone an array:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const myDupli = [...two];&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CASE II - COMBINING OBJECTS&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  If we want to combine these two objects:
&lt;/li&gt;
&lt;/ul&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;alpha&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;Shreya&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;beta&lt;/span&gt; &lt;span class="o"&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;19&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;  In ES6:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const combined = {...alpha, ...beta};&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  If we want to add more properties in b/w:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const gamma = { ...alpha, surName:'Purohit', ...beta, country: 'India'}&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  cloning an object:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const betaV2 = {...beta};&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Classes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  Let us take an example of an object &lt;code&gt;boy&lt;/code&gt; here. We have a function called &lt;code&gt;run&lt;/code&gt; inside it. Now if we've some bug in the future or we've to modify our function for a different object, it would be a long way.
&lt;/li&gt;
&lt;/ul&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;boy&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="s2"&gt;Sam&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;run&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;running...&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="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  To overcome this and make our work easier, we use classes:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nx"&gt;run&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;running...&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  Now that we've created a class, let's try building our object again -&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const boy = new Boy("Samridh");&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;with this above class, we've implemented the run method in a single line of code. If someday we find a bug here, we've to modify it in just a single place {inside class Boy}. So this is the advantage of using classes in JS.&lt;/p&gt;




&lt;h2&gt;
  
  
  Inheritance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  If we have a class Boy such that -
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nx"&gt;run&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;running&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  and we want to create another class (having similar properties + some specific properties of its own). We can do this using the keyword &lt;code&gt;extends&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;eat&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;eating&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  we just created the class &lt;code&gt;Girl&lt;/code&gt; here. Let us now create a const using this -&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;const myGirl = new Girl("Shreya");&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  and we're done. This code basically means that now the const &lt;code&gt;myGirl&lt;/code&gt; will have the functions &lt;code&gt;eat&lt;/code&gt; + &lt;code&gt;run&lt;/code&gt; + &lt;code&gt;constructor&lt;/code&gt; property of &lt;code&gt;Boy&lt;/code&gt; class. So we can use it like -
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;myGirl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;eat&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;myGirl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;run&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;  Now let's say we want to create another constructor inside the &lt;code&gt;Girl&lt;/code&gt; class {which is extended from &lt;code&gt;Boy&lt;/code&gt; class, So the constructor inside this &lt;code&gt;Girl&lt;/code&gt; class is called &lt;strong&gt;derived class constructor.&lt;/strong&gt;}.&lt;/li&gt;
&lt;li&gt;  We MUST HAVE TO call &lt;code&gt;super()&lt;/code&gt; constructor inside the new constructor, otherwise we'll get an error (as using &lt;code&gt;this&lt;/code&gt; in derived class constructor requires &lt;code&gt;super()&lt;/code&gt; class). Now this must be looking confusing, let's look at the example below -
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nx"&gt;eat&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;eating&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="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// *result - Uncaught ReferenceError: must call super constructor before using 'this' in derived class constructor*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  calling &lt;code&gt;super()&lt;/code&gt; constructor:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nx"&gt;eat&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;eating&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="p"&gt;}&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myGirl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Shreya&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;ul&gt;
&lt;li&gt;  In a child class constructor, &lt;code&gt;this&lt;/code&gt; cannot be used until &lt;code&gt;super&lt;/code&gt; is called.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Modules
&lt;/h2&gt;

&lt;p&gt;Sometimes we have many no. of classes declared in a single file. This makes the code long, confusing and messy. To avoid this, we separate these classes into different files and import them as a &lt;code&gt;module&lt;/code&gt; into the main file. This is called modularity.&lt;/p&gt;

&lt;p&gt;Let's look it in action. Here's what our folder &lt;code&gt;src&lt;/code&gt; will look like:&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;// src/boy.js&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nx"&gt;run&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;running&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="p"&gt;}&lt;/span&gt;


&lt;span class="c1"&gt;// src/girl.js&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./src/boy&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nx"&gt;eat&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;eating&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;both Boy and Girl classes are private in the folder, in order to use them we made them public using the &lt;code&gt;export&lt;/code&gt; keyword.&lt;/p&gt;

&lt;p&gt;We use &lt;code&gt;import&lt;/code&gt; keyword in line 1 of girl.js as it is an extended version of the &lt;code&gt;Boy&lt;/code&gt; class.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now half of the work is done. For now, these classes are not accessible in our main &lt;code&gt;app.js&lt;/code&gt; file. For that we've to import them in our &lt;code&gt;app.js&lt;/code&gt; file. We can do that by using -&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Boy&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./src/boy&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Girl&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./src/girl&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;h2&gt;
  
  
  Default and Named Exports
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Named Exports&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  We can export more than one objects from a specific module. This is called named export. Eg:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;Car&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&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;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;b&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;ul&gt;
&lt;li&gt;  Here we exported a class &lt;code&gt;Car&lt;/code&gt; and a function &lt;code&gt;add&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Default Exports&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;  It is basically the main object that is exported from the module. It is generally used in case we've only a single object to export. Let's see how it is -
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&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;class&lt;/span&gt; &lt;span class="nx"&gt;Car&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;;&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;💡 Now we don't need the &lt;code&gt;import { Car } from "./car";&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Instead, we use &lt;code&gt;import Car from "./car";&lt;/code&gt; in case of default exports.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Default exports → import Car from "./car";
Named exports → import { Car } from "./car";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;👋 Woosh! You've made it to the end. Hope I've helped you somehow. I write articles like this whenever I've some spare time. Besides this, I share content related to web development daily on Twitter. Let's connect there! &lt;a href="https://www.twitter.com/eyeshreya"&gt;@eyeshreya&lt;/a&gt;&lt;/p&gt;

</description>
      <category>es6</category>
      <category>javascript</category>
      <category>guide</category>
    </item>
    <item>
      <title>10+ Ways To Make Side Income Online as a Developer</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Thu, 15 Jul 2021 11:30:59 +0000</pubDate>
      <link>https://forem.com/shreya/10-ways-to-make-side-income-online-as-a-developer-hl8</link>
      <guid>https://forem.com/shreya/10-ways-to-make-side-income-online-as-a-developer-hl8</guid>
      <description>&lt;p&gt;Making side income as a developer can be a rewarding and valuable experience, both personally and professionally. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Financial stability: Having multiple streams of income can provide financial stability and security. This can be especially important in today's uncertain economy.&lt;/li&gt;
&lt;li&gt;Professional development: Taking on side projects can be a great way to gain new skills and experiences, which can help you grow as a developer and increase your value in the job market.&lt;/li&gt;
&lt;li&gt;Personal fulfillment: Working on side projects can be a great source of personal fulfillment and allow you to pursue your passions and interests outside of your full-time job.&lt;/li&gt;
&lt;li&gt;Flexibility: Making side income as a developer can provide flexibility in terms of the projects you take on and the amount of time you dedicate to them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this post, we'll be discussing some ways through which you can make a side income as a developer. So without further ado, let's get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  Contribute to Open Source Projects / Or Make One
&lt;/h2&gt;

&lt;p&gt;1.You an contribute to millions of open source projects available on GitHub. It could be resolving issues or improving the documentation. This way you can :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be a part of awesome communities&lt;/li&gt;
&lt;li&gt;Establish an online presence&lt;/li&gt;
&lt;li&gt;Make your portfolio&lt;/li&gt;
&lt;li&gt;You might end up getting a job if you have an awesome portfolio!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.If you love building open source projects, GitHub is an amazing way to make a side income while doing what you love. People out there are willing to give back, you can ask for sponsors on GitHub or support &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%2F4ecmp2eprs9y8enbxivo.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%2F4ecmp2eprs9y8enbxivo.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Write blogs
&lt;/h2&gt;

&lt;p&gt;Writing blogs is one of the best thing you can do for yourself as a developer. If you have knowledge, why not help others too? You can write tutorials, tips, advices or your personal stories (how you became a developer). The major profit of having a blog is that it can help you as a portfolio or in freelancing projects . &lt;/p&gt;

&lt;p&gt;There are some websites that pay you to write articles too! Here are some of them: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;hashnode&lt;/li&gt;
&lt;li&gt;medium&lt;/li&gt;
&lt;li&gt;vocal media&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open a YT channel
&lt;/h2&gt;

&lt;p&gt;Opening a YouTube channel of your own is another great way to teach and learn. You can give step-by-step tutorials, share your experiences, give tips and advices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BONUS&lt;/strong&gt;: If you've a developer blog already, use it as a script for your videos. You can give a video walkthrough of your blog 😉&lt;/p&gt;

&lt;h2&gt;
  
  
  Sell Video Courses
&lt;/h2&gt;

&lt;p&gt;If you've enough knowledge to teach someone, you can make courses of your own. There are many platforms that allow you to do the same while making a handsome amount of money.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Udemy&lt;/li&gt;
&lt;li&gt;Skillshare&lt;/li&gt;
&lt;li&gt;Teachable&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Coding Tutor
&lt;/h2&gt;

&lt;p&gt;If you love to teach, this can be the perfect method for you to make a living by teaching others for as short as an hour. Some of the platforms where you can teach as a coding tutor are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Codementor : &lt;a href="https://www.codementor.io/tutors" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Id Tech : &lt;a href="https://www.idtech.com/coding-tutors" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Programming lessons on Fiverr : &lt;a href="https://www.fiverr.com/categories/programming-tech/online-coding-lessons" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;If you're feeling skeptical, read this blog post by Yogesh on &lt;a href="https://blog.yogeshchavan.dev/how-i-made-dollar408-as-an-extra-income-on-codementor-in-one-month" rel="noopener noreferrer"&gt;How he Made $408 As an Extra Income on Codementor In One Month&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Freelancing / Work on small projects
&lt;/h2&gt;

&lt;p&gt;Freelancing is something very big today. There are many people who make full time living working for few hours a day. Some of the great freelancing sites are: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Fiverr : &lt;a href="http://www.fiverr.com/s2/ef47ef018f" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Upwork : &lt;a href="https://www.upwork.com/" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;People Per Hour : &lt;a href="https://www.peopleperhour.com/" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Ask for Support
&lt;/h2&gt;

&lt;p&gt;If you provide quality content to your audience, they will be more than happy to support you in return. You can ask them for support in many ways. Some of them are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Buy me a coffee: &lt;a href="//buymeacoffee.com/?via=shreyapurohit"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;KoFi : &lt;a href="https://ko-fi.com/" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Paypal Donation : &lt;a href="https://www.paypal.com/in/webapps/mpp/account-selection?refBy=RMZAVFywR51610003394783" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Patreon : &lt;a href="https://www.patreon.com/" rel="noopener noreferrer"&gt;Visit here&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Content Creator
&lt;/h2&gt;

&lt;p&gt;You can be a content creator. Now this includes some of the ways I mentioned above like creating content on YouTube and writing blogs. But do you know Twitter is a powerful tool as a developer for being a content creator? You can build your online presence and promote some good resources to your audience. In return you'll be getting commissions for the share. Pretty good deal, right!  Affiliate marketing can be a powerful strategy to use here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sell Your Products
&lt;/h2&gt;

&lt;p&gt;When you have established a sufficient online presence, you can roll out digital products as per your niche. Now this can include eBooks, 1:1 sessions, snippets and codes, etc.  The best platform to put these products is Gumroad. &lt;a href="https://app.gumroad.com/signup?referrer=shry" rel="noopener noreferrer"&gt;Check it out here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like for me, even though I don't have a good online presence for now, I did a experiment by publishing a very own FREE product of developer tools. And believe me, I did earned a good amount here. Tech twitter community is a great place to be in.&lt;/p&gt;

&lt;p&gt;If you're interested, check out my free product Developer tools here: &lt;a href="https://gum.co/devtools" rel="noopener noreferrer"&gt;gum.co/devtools&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sell Themes and Plugins
&lt;/h2&gt;

&lt;p&gt;This one is my favorite. You can sell many code resources if you love coding. This can include selling code scripts, web plugins, website themes, templates, etc.&lt;/p&gt;

&lt;p&gt;Here are some platforms for the same:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Themeforest&lt;/li&gt;
&lt;li&gt;Theme Snap&lt;/li&gt;
&lt;li&gt;Template Monster&lt;/li&gt;
&lt;li&gt;Code Canyon&lt;/li&gt;
&lt;li&gt;Creative Market&lt;/li&gt;
&lt;li&gt;Codester&lt;/li&gt;
&lt;li&gt;Envato Marketplace&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The most important key factor to become successful in any of the ways mentioned above is to be consistent. Stay positive!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's all for this one. I hope I was able to help you. Thank you for your time!&lt;/p&gt;

&lt;p&gt;Let's connect on &lt;a href="http://twitter.com/eyeshreya" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>developer</category>
      <category>opensource</category>
      <category>onlinepresence</category>
      <category>sideincome</category>
    </item>
    <item>
      <title>70+ Awesome Free Resources To Learn JavaScript</title>
      <dc:creator>Shreya Purohit</dc:creator>
      <pubDate>Wed, 26 May 2021 07:39:18 +0000</pubDate>
      <link>https://forem.com/shreya/70-awesome-free-resources-to-learn-javascript-2h4o</link>
      <guid>https://forem.com/shreya/70-awesome-free-resources-to-learn-javascript-2h4o</guid>
      <description>&lt;p&gt;Hey there, today in this blog we'll be discussing some great free resources to learn JavaScript right from the scratch.&lt;/p&gt;

&lt;p&gt;So, are you excited? Let's go then! 🚀&lt;/p&gt;

&lt;p&gt;So first things first, are you a person like me who prefers written tutorials more effective than video tutorials? (comment below 😉)&lt;/p&gt;

&lt;p&gt;Here are some GREAT tutorials out there:&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentations  📑
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;MDN Web Docs : &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is regarded as bible of references, and why shouldn't? It might look overwhelming to look over the content but with time, it would act like a butter to your bread! 😜&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. JavaScript Info : &lt;a href="https://javascript.info/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It contain all topics you need, from the basics to advanced topics with simple, but detailed explanations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. W3 Schools : &lt;a href="https://w3schools.com/js/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You know W3 schools already. When I first started with HTML 3 years ago, I use this as my only ultimate reference. This tutorial will teach you JavaScript from basic to advanced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. DevDocs : &lt;a href="https://devdocs.io/javascript/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is basically MDN docs in a fast, organized, and searchable interface. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. JavaScript Garden : &lt;a href="https://bonsaiden.github.io/JavaScript-Garden/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a growing collection of documentation about the most quirky parts of the JavaScript programming language.&lt;/p&gt;




&lt;h2&gt;
  
  
  Web Tutorials 📝
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;6. Learn JS: &lt;a href="https://www.learn-js.org/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is an amazing interactive javascript tutorial in the form of chapters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. JavaScript Tutorial : &lt;a href="https://www.javascripttutorial.net/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Divided and categorised into beautiful sections, this JavaScript Tutorial helps you learn the JavaScript programming language from scratch quickly and effectively.&lt;/p&gt;




&lt;h2&gt;
  
  
  GitHub Repositories 🐱
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;8. 30 seconds of code : &lt;a href="https://github.com/30-seconds/30-seconds-of-code" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This awesome JS repo contains short JavaScript code snippets for all your development needs&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Airbnb JavaScript Style Guide : &lt;a href="https://github.com/airbnb/javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a clean and reasonable style guide to javascript language. Must have a look.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. JS Questions: &lt;a href="https://github.com/lydiahallie/javascript-questions" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A long list of (advanced) JavaScript questions, and their explanations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. 33 JS concepts: &lt;a href="https://github.com/leonardomso/33-js-concepts" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Awesome resource containing 33 JavaScript concepts every developer should know.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. JS by example: &lt;a href="https://github.com/bmkmanoj/js-by-examples" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As you must have guesses, here you can learn JavaScript by examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Modern JavaScript tutorials : &lt;a href="https://github.com/javascript-tutorial/en.javascript.info" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This repository has the English content of the Modern JavaScript Tutorial, published in &lt;a href="https://javascript.info/" rel="noopener noreferrer"&gt;https://javascript.info&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Free eBooks 📒
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/getify/You-Dont-Know-JS" rel="noopener noreferrer"&gt;You Don't Know JS (book series)&lt;/a&gt; - This is a series of books diving deep into the core mechanisms of the JavaScript language.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://eloquentjavascript.net/" rel="noopener noreferrer"&gt;Eloquent JavaScript&lt;/a&gt; - This is a web book about JavaScript covering the language and runtime specifics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://mostly-adequate.gitbooks.io/mostly-adequate-guide/" rel="noopener noreferrer"&gt;Mostly Adequate Guide to Functional Programming&lt;/a&gt; - A documented web book covering functional programming in JavaScript, this is an excellent primer to functional programming using JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/getify/Functional-Light-JS" rel="noopener noreferrer"&gt;Functional-Light JavaScript&lt;/a&gt; -This book explores the core principles of functional programming (FP) as they are applied to JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://addyosmani.com/resources/essentialjsdesignpatterns/book/" rel="noopener noreferrer"&gt;JavaScript Design Patterns&lt;/a&gt; - This is a classical approach to JavaScript specific design patterns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://read.humanjavascript.com/" rel="noopener noreferrer"&gt;Human JavaScript&lt;/a&gt; - A great web book by &lt;a href="http://twitter.com/henrikjoreteg" rel="noopener noreferrer"&gt;@HenrikJoreteg&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://speakingjs.com/" rel="noopener noreferrer"&gt;Speaking JavaScript&lt;/a&gt; - This is an in-depth guide beginning with the basics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.pdfdrive.com/javascript-javascript-for-beginners-learn-javascript-programming-with-ease-in-half-the-time-everything-about-the-language-coding-programming-and-web-pages-you-need-to-know-e158299863.html" rel="noopener noreferrer"&gt;JavaScript For Beginners&lt;/a&gt; - Learn JavaScript Programming with ease&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://t.co/v0Ed5EJPJD?amp=1" rel="noopener noreferrer"&gt;The JavaScript Beginner's Handbook&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Interactive Tutorials 💻
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.codecademy.com/learn/javascript" rel="noopener noreferrer"&gt;Codeacademy&lt;/a&gt; - Fundamentals of JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://exercism.io/tracks/javascript" rel="noopener noreferrer"&gt;Exercism JavaScript Track&lt;/a&gt; - Exercism provides individual practice and mentor-based learning for free.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://reactivex.io/learnrx/" rel="noopener noreferrer"&gt;Functional programming&lt;/a&gt; - Learn basic principles of functional programming in an interactive way by using map, filter, concatAll, reduce and zip.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Online Courses  👩🏻‍🏫
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Udacity JavaScript Basics - &lt;a href="https://www.udacity.com/course/intro-to-javascript--ud803" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scrimba - &lt;a href="https://scrimba.com/learn/learnjavascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Coursera - &lt;a href="https://www.coursera.org/learn/javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Udemy - &lt;a href="https://www.udemy.com/course/the-complete-javascript-course/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  YouTube Tutorials 📽️
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;JavaScript Tutorial for Beginners by JavaScript Mastery : &lt;a href="https://youtu.be/g7T23Xzys-A" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript Tutorial for Beginners - Full Course in 8 Hours by Clever Programmer : &lt;a href="https://youtu.be/Qqx_wzMmFeA" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript Full Course by Edureka : &lt;a href="https://youtu.be/o1IaduQICO0" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Full JavaScript Course by Freecodecamp : &lt;a href="https://www.youtube.com/watch?v=PkZNo7MFNFg" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learn JavaScript in 1 Hour by Programming With Mosh : &lt;a href="https://www.youtube.com/watch?v=W6NZfCO5SIk" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Tips and Tricks 💡
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;JavaScript Tips by Kirupa - &lt;a href="https://www.kirupa.com/javascript/javascript_tips_and_tricks.htm" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JS Tips by Catalinpit - &lt;a href="https://github.com/catalinpit/JS-Tips-And-Tricks" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I've learnt so many things from this one. Must have a look!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;JS tips - &lt;a href="https://www.jstips.co/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Cheat Sheets 🤑
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;JS Cheatsheet by iLoveCoding: &lt;a href="https://github.com/iLoveCodingOrg/javascript-cheatsheet/blob/master/js-cheatsheet.pdf" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cheatography - JavaScript Cheat Sheet : &lt;a href="https://cheatography.com/davechild/cheat-sheets/javascript/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OverAPI - &lt;a href="https://overapi.com/javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JS CheatSheet - &lt;a href="https://htmlcheatsheet.com/js/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Awesome Cheatsheets by LeCoupa - &lt;a href="https://github.com/LeCoupa/awesome-cheatsheets/blob/master/languages/javascript.js" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Modern JavaScript Cheatsheet: &lt;a href="https://github.com/mbeaudru/modern-js-cheatsheet" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ES6 Cheatsheet by Devhints - &lt;a href="https://devhints.io/es6" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  JavaScript Projects (Beginners to Advanced) 🕹️
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;30 Day Vanilla JS by wesbos : &lt;a href="https://javascript30.com/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learn JavaScript by Building 7 Games (YouTube) : &lt;a href="https://youtu.be/lhNdUVh3qCc" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build 15 JavaScript Projects by freecodecamp (YouTube) : &lt;a href="https://youtu.be/3PHXvlpOkf4" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;10 JS Projects in 10 Hours by FlorinPop :  &lt;a href="https://youtu.be/dtKciwk_si4" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Beginners JavaScript Projects by strongdan: &lt;a href="https://github.com/strongdan/beginner-js-projects" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;20+ Projects You Can Do With JavaScript : &lt;a href="https://skillcrush.com/blog/projects-you-can-do-with-javascript/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;40 JavaScript Projects for Beginners : &lt;a href="https://www.freecodecamp.org/news/javascript-projects-for-beginners/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;100+ JavaScript Projects: &lt;a href="https://jsbeginners.com/javascript-projects-for-beginners/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;50 projects 50 days by Brad Traversy : &lt;a href="https://github.com/bradtraversy/50projects50days" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  DOM in JavaScript  🧱
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Traversing the DOM with JavaScript - &lt;a href="https://zellwk.com/blog/dom-traversals/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
A tutorial featuring native methods to traverse the DOM.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DOM Enlightenment - &lt;a href="http://domenlightenment.com/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
A whole book about how to access an manipulate the DOM without a library.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You Might Not Need jQuery - &lt;a href="http://youmightnotneedjquery.com/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Get plain JavaScript code snippets (and see their jQuery equivalents).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ES6 ✨
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;ES6 Overview - &lt;a href="https://ponyfoo.com/articles/es6" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Bullet point overview including in-depth articles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Exploring ES6 - &lt;a href="http://exploringjs.com/es6.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Good introduction with in-depth chapters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practical ES6 - &lt;a href="https://github.com/mjavascript/practical-es6" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
eBook with practical examples and advices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ES6 Katas - &lt;a href="http://es6katas.org/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Learn ES6 by solving unit test online.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setting up ES6 - &lt;a href="http://exploringjs.com/setting-up-es6.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Explains how to set up ES6 projects that are transpiled to ES5.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Exploring ES2016 and ES2017 - &lt;a href="http://exploringjs.com/es2016-es2017.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
Follow up of »Exploring ES6«.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Aand.. if you need to learn JS Algorithms 🤖
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Algorithms - JavaScript : &lt;a href="https://github.com/TheAlgorithms/Javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript Algorithms and Data Structures : &lt;a href="https://github.com/trekhleb/javascript-algorithms" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Some Awesome Free Resources 🎖️
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Get Butterfly : &lt;a href="https://getbutterfly.com/javascript/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;30 seconds of code : &lt;a href="https://30secondsofcode.org/js/p/1" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript Snippets : &lt;a href="https://tweetsnippet.com/snippets/javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JS source : &lt;a href="https://javascriptsource.com" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JS Fiddle : &lt;a href="https://jsfiddle.net" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Other Tutorials 🌱
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Odin Project : &lt;a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/javascript" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JS for cats : &lt;a href="http://jsforcats.com/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Woah. Thank you for your precious time. Hope I have helped you somehow!&lt;/p&gt;

&lt;p&gt;You can support me here :)  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/shreyapurohit" rel="noopener noreferrer"&gt;&lt;br&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%2Ftrr3v9cy32gefaf7un2o.png"&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;On a side note, please don't get stuck into tutorial hell, be aware! :)&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1395357913535770630-36" src="https://platform.twitter.com/embed/Tweet.html?id=1395357913535770630"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1395357913535770630-36');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1395357913535770630&amp;amp;theme=dark"
  }



&lt;/p&gt;


&lt;/blockquote&gt;

&lt;p&gt;I have just started to share such resources on Twitter on a daily basis as well, have a look and let's connect! &lt;a href="https://twitter.com/eyeshreya" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>resources</category>
      <category>firstpost</category>
    </item>
  </channel>
</rss>
