<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Himanshu Khaitan</title>
    <description>The latest articles on DEV Community by Himanshu Khaitan (@hima_khaitan).</description>
    <link>https://dev.to/hima_khaitan</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%2F629989%2F94e5c19e-ce31-4a7d-a20b-603def943e7d.jpeg</url>
      <title>DEV Community: Himanshu Khaitan</title>
      <link>https://dev.to/hima_khaitan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hima_khaitan"/>
    <language>en</language>
    <item>
      <title>Setting Up a Typescript Project using NPM</title>
      <dc:creator>Himanshu Khaitan</dc:creator>
      <pubDate>Wed, 09 Feb 2022 15:36:09 +0000</pubDate>
      <link>https://dev.to/hima_khaitan/setting-up-a-typescript-project-using-npm-4p86</link>
      <guid>https://dev.to/hima_khaitan/setting-up-a-typescript-project-using-npm-4p86</guid>
      <description>&lt;h3&gt;
  
  
  Let's first know what is NPM?
&lt;/h3&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%2Fev6n6l38084egi3cjpj7.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%2Fev6n6l38084egi3cjpj7.png" alt="JavaScript Package Manager"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;NPM&lt;/a&gt; is a JavaScript Package Manager. It is a software registry with over 800,000 code packages. It is absolutely free to use.&lt;/p&gt;

&lt;p&gt;❗❗❗In the tutorial below, I will assume that your system has a Nodejs version &lt;code&gt;&amp;gt;=16.13.1&lt;/code&gt; installed in it. If not, you can download it from &lt;strong&gt;&lt;a href="https://nodejs.org/en/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/strong&gt; ❗❗❗&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up the Project
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;I will use command line and vs-code to setup this project. You may use any code editor of your choice.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 ➡️ Create the Project Folder
&lt;/h3&gt;

&lt;p&gt;Run this command in the terminal to create the project folder named &lt;code&gt;project1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;❗❗&lt;em&gt;Project name depends on your choice. I have taken it to be project1.&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;mkdir &lt;/span&gt;project1


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 2 ➡️ Change the Project Directory
&lt;/h3&gt;

&lt;p&gt;Now jump into the project directory you just created. Command will vary on the name chosen by you in last step.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd &lt;/span&gt;project1


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 3 ➡️ Create Source Code Folder
&lt;/h3&gt;

&lt;p&gt;To separate source code from the compiled code we need to create two separate folders. Following the convention I am taking their names as &lt;code&gt;src&lt;/code&gt; and &lt;code&gt;build&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;mkdir &lt;/span&gt;src


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 4 ➡️ Create Build Folder
&lt;/h3&gt;

&lt;p&gt;This folder will contain all the compiled code in the same file hierarchy as your source code.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

mkdir build


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

&lt;/div&gt;
&lt;h4&gt;
  
  
  📂 File System after above commands
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

-  project1
  -  build
  -  src


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  Step 5 ➡️ Install TypeScript on your system
&lt;/h3&gt;

&lt;p&gt;Before initialize the typescript project we need to install Typescript using NPM&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; typescript


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

&lt;/div&gt;
&lt;p&gt;The command will install TypeScript globally on your system. You have to run this command only once.&lt;/p&gt;

&lt;p&gt;❗❗❗You can also install it for a specific project by following command&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm &lt;span class="nb"&gt;install &lt;/span&gt;typescript &lt;span class="nt"&gt;--save-dev&lt;/span&gt;


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

&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️⚠️This command must be ran in the root folder. In this case &lt;code&gt;project1&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Step 6 ➡️ Initialize TypeScript Project
&lt;/h3&gt;

&lt;p&gt;To initialize a TypeScript Project we need to run the &lt;code&gt;init&lt;/code&gt; command in root directory&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

tsc &lt;span class="nt"&gt;--init&lt;/span&gt;


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

&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;This will create a &lt;code&gt;tsconfig.json&lt;/code&gt; file in the root directory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After this, we need to tell our typescript compiler about the src and build directory&lt;/p&gt;
&lt;h4&gt;
  
  
  Let's first have a look at &lt;code&gt;tsconfig.json&lt;/code&gt; file
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compilerOptions&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;target&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;es2016&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;module&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;commonjs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;                               
    &lt;span class="c1"&gt;// "rootDir": "./",                                  &lt;/span&gt;


    &lt;span class="c1"&gt;// "outDir": "./",                                   &lt;/span&gt;

    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;strict&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;                                      
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;skipLibCheck&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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;⚠️⚠️ Above is the small portion of &lt;code&gt;tsconfig.json&lt;/code&gt; file.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 7 ➡️ Configure TypeScript Config File
&lt;/h3&gt;

&lt;p&gt;We need to update two options &lt;code&gt;rootDir&lt;/code&gt; and &lt;code&gt;outDir&lt;/code&gt; to achieve the above.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compilerOptions&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;target&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;es2016&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;module&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;commonjs&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;rootDir&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;./src&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;outDir&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;./build&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;strict&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;                                      
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;skipLibCheck&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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;✅ We have updated the output Directory and Input Directory for the compiler.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;To run the compiler all you have to do is run &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

tsc &lt;span class="nt"&gt;-w&lt;/span&gt;


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

&lt;/div&gt;
&lt;p&gt;or &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

tsc


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

&lt;/div&gt;
&lt;p&gt;in the root directory and your build is ready.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;code&gt;tsc -w&lt;/code&gt; will keep looking for changes in the typescript files and update the build accordingly&lt;/em&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Want to read about Type Annotations and Inference in TypeScript ❓
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/hima_khaitan" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F629989%2F94e5c19e-ce31-4a7d-a20b-603def943e7d.jpeg" alt="hima_khaitan"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/hima_khaitan/type-annotations-and-inference-in-typescript-5f21" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Type Annotations and Inference in Typescript&lt;/h2&gt;
      &lt;h3&gt;Himanshu Khaitan ・ Feb 4 '22&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 8 ➡️ Optional Step ❗❗
&lt;/h3&gt;

&lt;p&gt;To keep the development smooth we can optimize out project setup.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step: 1 ➡️ Initialize NPM
&lt;/h4&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm init &lt;span class="nt"&gt;-y&lt;/span&gt;


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

&lt;/div&gt;
&lt;p&gt;Above command will create a &lt;code&gt;package.json&lt;/code&gt; file in the root directory&lt;/p&gt;
&lt;h4&gt;
  
  
  Step: 2 ➡️ Installing Required Packages
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; nodemon


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

&lt;/div&gt;
&lt;p&gt;Above command will install &lt;code&gt;nodemon&lt;/code&gt; globally on your computer. Nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected hence making development smoother.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm &lt;span class="nb"&gt;install &lt;/span&gt;concurrently


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

&lt;/div&gt;
&lt;p&gt;Concurrently helps in running multiple scripts simultaneously.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step: 3 ➡️ Creating index.ts in src 📂
&lt;/h4&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; ./src


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

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;touch &lt;/span&gt;index.ts


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

&lt;/div&gt;
&lt;p&gt;Above commands will create a &lt;code&gt;index.ts&lt;/code&gt; file in the &lt;code&gt;src&lt;/code&gt; directory.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step: 4 ➡️ Configuring &lt;code&gt;package.json&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;With &lt;code&gt;nodemon&lt;/code&gt; and &lt;code&gt;concurrently&lt;/code&gt; installed in our project, we can edit &lt;code&gt;script&lt;/code&gt; option in &lt;code&gt;json&lt;/code&gt; file.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;scripts&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="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;start:build&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;tsc -w&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;start:run&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;nodemon build/index.js&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;start&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;concurrently npm:start:*&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;p&gt;Phew❗We are done. With the above command you can start with the development with the below command.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm run start


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

&lt;/div&gt;
&lt;p&gt;&lt;em&gt;You are good to go.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Any Suggestions, Reviews, Ideas, Help Requests or positive criticism are welcome. I will love to connect.&lt;/p&gt;
&lt;h3&gt;
  
  
  Thanks for reading the Blog. Hope you found it Helpful
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/himakhaitan" rel="noopener noreferrer"&gt;
        himakhaitan
      &lt;/a&gt; / &lt;a href="https://github.com/himakhaitan/himakhaitan" rel="noopener noreferrer"&gt;
        himakhaitan
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Happily Turning Coffee into Code☕💻. The repository is a quick overview of my current skills and commits🌱
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/Banner.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2FBanner.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;I write code, build communities, and unravel data mysteries.&lt;/h4&gt;

&lt;/div&gt;

&lt;p&gt;
  &lt;a href="https://github.com/himakhaitan/himakhaitanmailto:himanshukhaitan108@gmail.com" rel="noopener noreferrer"&gt;&lt;img height="40" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fmail.png"&gt;&lt;/a&gt;
  &lt;a href="https://www.linkedin.com/in/himakhaitan" rel="nofollow noopener noreferrer"&gt;&lt;img height="40" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Flinkedin.png"&gt;&lt;/a&gt;  
  &lt;a href="https://twitter.com/hima_khaitan" rel="nofollow noopener noreferrer"&gt;&lt;img height="40" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Ftwitter.png"&gt;&lt;/a&gt;  
  &lt;a href="https://www.instagram.com/hima_khaitan/" rel="nofollow noopener noreferrer"&gt;&lt;img height="40" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Finsta.png"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Who is Himanshu Khaitan ❓&lt;/p&gt;

&lt;p&gt;
🚀 Hey there, I'm Himanshu – a budding Data Analyst and a freelance Software Developer trying to make lives easier through code. I am currently building Karmic Crew - A platform for beginners. I'm all ears for discussions and casual chats. Let's connect and exchange ideas!
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;⚡ Stuff I Know&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/html5.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fhtml5.png" height="40"&gt;&lt;/a&gt;      
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/css.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fcss.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/sass.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fsass.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/bootstrap.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fbootstrap.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/js.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fjs.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/nodejs.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fnodejs.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/expressjs.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fexpressjs.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/postman.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fpostman.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/react.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Freact.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/mongo.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fmongo.png" height="40"&gt;&lt;/a&gt;    
&lt;br&gt;&lt;br&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/c.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fc.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/cpp.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fcpp.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/git.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fgit.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/github.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fgithub.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/linux.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Flinux.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/illustrator.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fillustrator.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/figma.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Ffigma.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/postgresql.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fpostgresql.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/canva.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fcanva.png" height="40"&gt;&lt;/a&gt;   
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/redux.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fredux.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/next-js.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fnext-js.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/typescript.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Ftypescript.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/wordpress.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fwordpress.png" height="50"&gt;&lt;/a&gt; &lt;br&gt;&lt;br&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/python.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fpython.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/dart.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fdart.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/flutter.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fflutter.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/bloc.svg"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fhimakhaitan%2Fhimakhaitan%2Fraw%2Fmain%2Ficons%2Fbloc.svg" height="40"&gt;&lt;/a&gt;    
&lt;/p&gt;



&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/e4f485d4701818f78b35c951397eae52dc493257ab9fba2f4e4326d2d4a01b0a/68747470733a2f2f6769746875622d726561646d652d73747265616b2d73746174732e6865726f6b756170702e636f6d3f757365723d68696d616b68616974616e267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;img src="https://camo.githubusercontent.com/e4f485d4701818f78b35c951397eae52dc493257ab9fba2f4e4326d2d4a01b0a/68747470733a2f2f6769746875622d726561646d652d73747265616b2d73746174732e6865726f6b756170702e636f6d3f757365723d68696d616b68616974616e267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;/a&gt;
    &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9e8bab43721a139edcc70d3f7b794aa7c41c13006b3413a919b4d87f6e324aa1/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d68696d616b68616974616e2673686f775f69636f6e733d7472756526686964655f626f726465723d74727565267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;img src="https://camo.githubusercontent.com/9e8bab43721a139edcc70d3f7b794aa7c41c13006b3413a919b4d87f6e324aa1/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d68696d616b68616974616e2673686f775f69636f6e733d7472756526686964655f626f726465723d74727565267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;- Profile Visits -&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt; 
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/1074dacad3cb616dd276d9083edc68d4ab9e5b1e6f57f05e21971352338410c2/68747470733a2f2f70726f66696c652d636f756e7465722e676c697463682e6d652f68696d616b68616974616e2f636f756e742e737667"&gt;&lt;img src="https://camo.githubusercontent.com/1074dacad3cb616dd276d9083edc68d4ab9e5b1e6f57f05e21971352338410c2/68747470733a2f2f70726f66696c652d636f756e7465722e676c697463682e6d652f68696d616b68616974616e2f636f756e742e737667"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;Happily turning coffee into code!✅&lt;/h4&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/himakhaitan/himakhaitan" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;My self Himanshu Khaitan, a Freelance Web Developer. You can connect with me &lt;a href="https://linktr.ee/hima_khaitan" rel="noopener noreferrer"&gt;here&lt;/a&gt;. 😍&lt;/p&gt;

&lt;p&gt;You can follow me on &lt;a href="https://twitter.com/hima_khaitan" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or connect with me on &lt;a href="https://linkedin.com/in/himakhatian" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; 🔗&lt;/p&gt;

&lt;p&gt;You can ping me for help on my Discord Server &lt;a href="https://discord.gg/ZD9YPq8kJq" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>typescript</category>
      <category>javascript</category>
      <category>npm</category>
    </item>
    <item>
      <title>Evident Audit - A community that builds</title>
      <dc:creator>Himanshu Khaitan</dc:creator>
      <pubDate>Wed, 09 Feb 2022 09:18:38 +0000</pubDate>
      <link>https://dev.to/hima_khaitan/evident-audit-a-community-that-builds-18d1</link>
      <guid>https://dev.to/hima_khaitan/evident-audit-a-community-that-builds-18d1</guid>
      <description>&lt;h2&gt;
  
  
  Community at your service
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the marvelous things about community is that it enables us to welcome and help people in a way we couldn't as individuals. - Jean Vanier&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Why wait? Join &lt;a href="https://discord.gg/gKgSwD33jZ"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  We got you covered in every possible way
&lt;/h3&gt;

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

&lt;p&gt;We got a lot of things inside our server&lt;br&gt;
➡️ Learn with peers&lt;br&gt;
➡️ Ask doubts&lt;br&gt;
➡️ Solve doubts of other members (if possible)&lt;br&gt;
➡️ Discuss Ideas&lt;br&gt;
➡️ Get all the tech updates&lt;br&gt;
➡️ Network with people across the globe&lt;br&gt;
➡️ Find Opportunities&lt;br&gt;
➡️ Community Discussions&lt;br&gt;
➡️ Music Adda&lt;br&gt;
➡️ Movie Nights&lt;br&gt;
➡️ Participate in Tech and Fun Events&lt;/p&gt;

&lt;p&gt;Why wait? Join &lt;a href="https://discord.gg/gKgSwD33jZ"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  You can follow us on Twitter &lt;a href="https://twitter.com/EvidentAudit"&gt;here&lt;/a&gt;
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Want to be a part of Open Source join our GitHub organization &lt;a href="https://github.com/Evident-Audit"&gt;here&lt;/a&gt;
&lt;/h3&gt;

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

&lt;blockquote&gt;
&lt;p&gt;Happy to have you onboard&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>codenewbie</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Type Annotations and Inference in Typescript</title>
      <dc:creator>Himanshu Khaitan</dc:creator>
      <pubDate>Fri, 04 Feb 2022 20:04:46 +0000</pubDate>
      <link>https://dev.to/hima_khaitan/type-annotations-and-inference-in-typescript-5f21</link>
      <guid>https://dev.to/hima_khaitan/type-annotations-and-inference-in-typescript-5f21</guid>
      <description>&lt;h3&gt;
  
  
  Let's first see what Types are in Typescript.
&lt;/h3&gt;

&lt;p&gt;Types are the easy way to refer the different properties and functions available to a value in the Typescript Code.&lt;/p&gt;

&lt;p&gt;For eg: A vehicle of type &lt;strong&gt;Bike&lt;/strong&gt; had certain properties such as two wheels whereas a vehicle of type &lt;strong&gt;Car&lt;/strong&gt; has four wheels in general.&lt;/p&gt;

&lt;h2&gt;
  
  
  Type Annotations
&lt;/h2&gt;

&lt;p&gt;It is the code we add to the Typescript to make the compiler aware of the type of values variable will refer to.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&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;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Himanshu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isAdult&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the example above, we explicitly tell the typescript compiler that the variable age will be of type &lt;code&gt;number&lt;/code&gt;, name will be of type &lt;code&gt;string&lt;/code&gt; and isAdult would be of type &lt;code&gt;boolean&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Type Annotations for Variables
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&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;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Type Annotations and Inference&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isPublished&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;boolean&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the above case, we as a developer have explicitly told the types of TypeScript Compiler. It's not recommended to do this as Type Inference is capable to infer they types of variables which are declared and intialized in same expression.&lt;/p&gt;
&lt;h3&gt;
  
  
  Type Annotations for Arrays
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;skills&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&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;DSA&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;Graphic Design&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;Web Dev&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;Here we let TypeScript Compiler know that skills will be an Array consisting of &lt;code&gt;strings&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Type Annotations for Functions
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="o"&gt;=&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="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;b&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&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="s2"&gt;`&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;For the function add we have defined a and b as parameters of type &lt;code&gt;number&lt;/code&gt; and the return type as &lt;code&gt;string&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Syntax is a bit confusing but easy to get hands on it.&lt;/p&gt;
&lt;h3&gt;
  
  
  Custom Type Annotations
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;Book&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nl"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="nl"&gt;copies&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
 &lt;span class="nl"&gt;publishedOn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;book1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Book&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;Do or Die&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;copies&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;publishedOn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;author&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="nx"&gt;author&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;Naval&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;

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

&lt;/div&gt;


&lt;p&gt;In the above written snippet there are two cases&lt;/p&gt;
&lt;h4&gt;
  
  
  -&amp;gt; Using Interface
&lt;/h4&gt;

&lt;p&gt;In this, we defined a custom data type &lt;code&gt;Book&lt;/code&gt; which has name, publishedOn and copies as it's properties and assigned it to book1 variable.&lt;/p&gt;
&lt;h4&gt;
  
  
  -&amp;gt; Inline Definition
&lt;/h4&gt;

&lt;p&gt;In this, we defined the type of variable &lt;code&gt;author&lt;/code&gt; inline using the syntax shown above.&lt;/p&gt;

&lt;p&gt;Both of the methods can be used to define the custom types depending on the used cases.&lt;/p&gt;
&lt;h3&gt;
  
  
  Multiple types
&lt;/h3&gt;

&lt;p&gt;In some of the used cases we are not sure of the type of variable or we can have a variable which may contain two types of values.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;variableOne&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;any&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;variableTwo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;


&lt;p&gt;In case of &lt;code&gt;variableOne&lt;/code&gt; we are not sure of it's type so we assigned the type &lt;code&gt;any&lt;/code&gt; to it. Defining type any is not preferred as TypeScript will infer it if not explicitly told.&lt;/p&gt;

&lt;p&gt;In case of variableTwo, it can contain values which are either &lt;code&gt;string&lt;/code&gt; or &lt;code&gt;number&lt;/code&gt;, so we used the &lt;code&gt;|&lt;/code&gt; operator to explicitly tell the TypeScript Compiler.&lt;/p&gt;
&lt;h2&gt;
  
  
  Type Inference
&lt;/h2&gt;

&lt;p&gt;Type Inference happens when TypeScript tries to infer what type of values a variable refers to.&lt;/p&gt;

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

&lt;p&gt;In the above example TypeScript Compiler infers that num will be of type &lt;code&gt;number&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Type Inference in Functions
&lt;/h3&gt;

&lt;p&gt;TypeScript is only capable of inferring the return type of a function. Parameters need to be annotated by the developer.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="o"&gt;=&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="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;b&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;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;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;p&gt;In the above example TypeScript will infer the return type of function as &lt;code&gt;number&lt;/code&gt; based on the type of parameters used and operations performed.&lt;/p&gt;
&lt;h3&gt;
  
  
  When to use Type Annotations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fixing type &lt;code&gt;any&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Where Inference doesn't work&lt;/li&gt;
&lt;li&gt;Delayed Initialization&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: Whenever TypeScript can't infer the type of a variable or a function, it simply declares its type to be &lt;code&gt;any&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Thanks for reading the Blog. Hope you found it Helpful
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/himakhaitan"&gt;
        himakhaitan
      &lt;/a&gt; / &lt;a href="https://github.com/himakhaitan/himakhaitan"&gt;
        himakhaitan
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Happily Turning Coffee into Code☕💻. The repository is a quick overview of my current skills and commits🌱
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/1.jpg"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jhPldnYX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/1.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
I write code, build communities and love to interact with people around.&lt;/h4&gt;
&lt;p&gt;
  &lt;a href="https://github.com/himakhaitan/himakhaitanmailto:himanshukhaitan108@gmail.com"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--xYGaXB7t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/mail.png"&gt;&lt;/a&gt;
  &lt;a href="https://www.linkedin.com/in/himanshu-khaitan-431666204/" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--wxIqX2ly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/linkedin.png"&gt;&lt;/a&gt;  &lt;a href="https://himakhaitan.medium.com/" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--b1JsCDJb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/medium.png"&gt;&lt;/a&gt;  
  &lt;a href="https://twitter.com/hima_khaitan" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--mYkDxptd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/twitter.png"&gt;&lt;/a&gt;  
  &lt;a href="https://discord.gg/246v9MajFQ" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--FDikLS88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/discord.png"&gt;&lt;/a&gt;  &lt;a href="https://www.instagram.com/himakhaitan/" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--hI5Nl9bb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/insta.png"&gt;&lt;/a&gt;  &lt;a href="https://dev.to/hima_khaitan" rel="nofollow"&gt;&lt;img height="40" src="https://res.cloudinary.com/practicaldev/image/fetch/s--jCiVUhCA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/dev.png"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;An avid and passionate coder specializing in different languages. I love to build and design websites which the end user would enjoy using while keeping the website performant and the code clean. Up for freelance web development work, social media managment and collaborating on exciting &lt;b&gt;Open Source &amp;amp; Personal&lt;/b&gt; projects.&lt;/p&gt;
&lt;p&gt;
Currently I am learning advanced concepts of Typescript and getting hands dirty in Competitive Programming.
&lt;/p&gt;
&lt;h2&gt;
⚡ Stuff I Know&lt;/h2&gt;
&lt;p&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/html5.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WPZScEHV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/html5.png" height="40"&gt;&lt;/a&gt;      
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/css.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4hgqiZ2J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/css.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/sass.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lhTwFUaN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/sass.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/bootstrap.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JD5P6TZL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/bootstrap.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/js.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZUzycnHh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/js.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/nodejs.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wkfJaxA7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/nodejs.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/expressjs.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z1s5LNAC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/expressjs.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/postman.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TF-nvKo3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/postman.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/react.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i9ZJOFsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/react.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/mongo.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dR-32qEA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/mongo.png" height="40"&gt;&lt;/a&gt;    
&lt;br&gt;&lt;br&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/c.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Yepts2il--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/c.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/cpp.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L31vmUlD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/cpp.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/git.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b1430J1c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/git.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/github.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5ZEcRHGs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/github.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/linux.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LaHtEgGm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/linux.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/heroku.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AjAmxEsT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/heroku.png" height="40"&gt;&lt;/a&gt;    

&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/canva.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WX5JulQx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/canva.png" height="40"&gt;&lt;/a&gt;   
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/redux.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--79n8UtTO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/redux.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/next-js.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3iqizuMs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/next-js.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/typescript.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aTXDoHB---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/typescript.png" height="40"&gt;&lt;/a&gt;    
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/wordpress.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OH4C0ulq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/wordpress.png" height="50"&gt;&lt;/a&gt; 
&lt;a rel="noopener noreferrer" href="https://github.com/himakhaitan/himakhaitan/blob/main/icons/solidity.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e_CnWvVv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/himakhaitan/himakhaitan/raw/main/icons/solidity.png" height="60"&gt;&lt;/a&gt;    
&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/ce7b9188f079294587c7bcb5e720bd2a54a4a393913c48c78c6a1c939fcd93a0/68747470733a2f2f6769746875622d726561646d652d73747265616b2d73746174732e6865726f6b756170702e636f6d3f757365723d68696d616b68616974616e267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;img src="https://camo.githubusercontent.com/ce7b9188f079294587c7bcb5e720bd2a54a4a393913c48c78c6a1c939fcd93a0/68747470733a2f2f6769746875622d726561646d652d73747265616b2d73746174732e6865726f6b756170702e636f6d3f757365723d68696d616b68616974616e267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;/a&gt;
    &lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/73483d5bfe87818a76d1763bda2c4e0302643e7c1e8d36b1b6747062f5762a03/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d68696d616b68616974616e2673686f775f69636f6e733d7472756526686964655f626f726465723d74727565267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;img src="https://camo.githubusercontent.com/73483d5bfe87818a76d1763bda2c4e0302643e7c1e8d36b1b6747062f5762a03/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170693f757365726e616d653d68696d616b68616974616e2673686f775f69636f6e733d7472756526686964655f626f726465723d74727565267468656d653d746f6b796f6e6967687426686964655f626f726465723d7472756526666972653d444432373237"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;
- Profile Visits -&lt;/h3&gt;
&lt;p&gt; 
  &lt;a rel="noopener noreferrer" href="https://camo.githubusercontent.com/8f6a2b03255d0fbb5de5e416b0a5df5bebfc4f65c940ce9c4fbe161c97e2ee99/68747470733a2f2f70726f66696c652d636f756e7465722e676c697463682e6d652f68696d616b68616974616e2f636f756e742e737667"&gt;&lt;img src="https://camo.githubusercontent.com/8f6a2b03255d0fbb5de5e416b0a5df5bebfc4f65c940ce9c4fbe161c97e2ee99/68747470733a2f2f70726f66696c652d636f756e7465722e676c697463682e6d652f68696d616b68616974616e2f636f756e742e737667"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;
Happily turning coffee into code!✅
&lt;/h4&gt;
&lt;/div&gt;

  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/himakhaitan/himakhaitan"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;My self Himanshu Khaitan, a Freelance Web Developer. You can connect with me &lt;a href="https://linktr.ee/hima_khaitan"&gt;here&lt;/a&gt;. 😍&lt;/p&gt;

&lt;p&gt;You can follow me on &lt;a href="https://twitter.com/hima_khaitan"&gt;Twitter&lt;/a&gt; or connect with me on &lt;a href="https://linkedin.com/in/himakhatian"&gt;LinkedIn&lt;/a&gt; 🔗&lt;/p&gt;

&lt;p&gt;You can ping me for help on my Discord Server &lt;a href="https://discord.gg/ZD9YPq8kJq"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
