<?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: Akash K</title>
    <description>The latest articles on Forem by Akash K (@akashkumaravel).</description>
    <link>https://forem.com/akashkumaravel</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%2F1003307%2Fdca3f52f-8e14-47c6-9563-dab255bdbea2.jpg</url>
      <title>Forem: Akash K</title>
      <link>https://forem.com/akashkumaravel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/akashkumaravel"/>
    <language>en</language>
    <item>
      <title>What is Mise? The One Tool Every Developer Should Know</title>
      <dc:creator>Akash K</dc:creator>
      <pubDate>Tue, 18 Nov 2025 15:00:39 +0000</pubDate>
      <link>https://forem.com/akashkumaravel/what-is-mise-the-one-tool-every-developer-should-know-2oag</link>
      <guid>https://forem.com/akashkumaravel/what-is-mise-the-one-tool-every-developer-should-know-2oag</guid>
      <description>&lt;p&gt;Have you ever opened a new project, ran &lt;code&gt;npm start&lt;/code&gt; or &lt;code&gt;python app.py&lt;/code&gt;, and got hit with an error like “&lt;em&gt;Version mismatch&lt;/em&gt;” or “&lt;em&gt;Dependency not found&lt;/em&gt;”?&lt;br&gt;
If yes, you’re not alone.&lt;/p&gt;

&lt;p&gt;As developers, we juggle multiple languages and tools every day. One project might need &lt;strong&gt;Python 3.11&lt;/strong&gt;, another might depend on &lt;strong&gt;Node.js 16&lt;/strong&gt;, and a third one might want &lt;strong&gt;Terraform 1.5&lt;/strong&gt;. Keeping all of these in sync across projects can be a nightmare.&lt;/p&gt;

&lt;p&gt;That’s exactly where &lt;strong&gt;Mise&lt;/strong&gt; steps in.&lt;/p&gt;
&lt;h3&gt;
  
  
  The Meaning Behind the Name:
&lt;/h3&gt;

&lt;p&gt;The name &lt;strong&gt;Mise&lt;/strong&gt; comes from the French phrase “&lt;em&gt;mise en place&lt;/em&gt;,” which means “&lt;em&gt;everything in its place&lt;/em&gt;.”&lt;br&gt;
It’s what chefs say when they prepare their ingredients: chopping vegetables, measuring spices, and organizing everything before cooking.&lt;/p&gt;

&lt;p&gt;Mise applies the same philosophy to coding.&lt;br&gt;
It helps developers keep all their programming tools: languages, SDKs, CLIs, perfectly arranged and ready for use.&lt;br&gt;
Think of it as your &lt;strong&gt;digital kitchen assistan&lt;/strong&gt;t that ensures every ingredient (tool version) is exactly where it needs to be before you start “cooking” (coding).&lt;/p&gt;
&lt;h3&gt;
  
  
  So, What Exactly is Mise?
&lt;/h3&gt;

&lt;p&gt;In simple terms:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Mise is a tool that helps you manage and switch between different versions of programming languages and developer tools — automatically.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It removes the manual hassle of switching versions or reinstalling tools every time you move between projects.&lt;/p&gt;

&lt;p&gt;Let’s imagine you’re working on these two projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project A&lt;/strong&gt; → Needs Node.js 16 and Python 3.8&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project B&lt;/strong&gt; → Needs Node.js 18 and Python 3.11&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Normally, you’d spend time installing and switching versions manually, maybe even breaking something along the way.&lt;br&gt;
With &lt;strong&gt;Mise&lt;/strong&gt;, you just open the project folder and boom 💥, it automatically loads the right versions for you.&lt;/p&gt;

&lt;p&gt;No stress. No conflicts. No manual setup.&lt;/p&gt;
&lt;h3&gt;
  
  
  How Mise Works:
&lt;/h3&gt;

&lt;p&gt;Mise uses a simple configuration file in your project directory — typically named &lt;code&gt;**.mise.toml**&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# .mise.toml
[tools]
python = "3.11.2"
node = "18.17.1"
terraform = "1.6.0"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells Mise which versions of each tool your project needs.&lt;br&gt;
Once you’ve set it up, every time you open the folder or run &lt;code&gt;mise activate&lt;/code&gt;, Mise ensures your terminal uses those exact versions.&lt;/p&gt;

&lt;p&gt;If you jump to another project with a different &lt;code&gt;.mise.toml&lt;/code&gt;, it automatically switches everything for you instantly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Developers Love Mise?
&lt;/h3&gt;

&lt;p&gt;Here’s why Mise is quickly becoming a favorite among developers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;All-in-one Manager&lt;/strong&gt;&lt;br&gt;
No need for separate tools like nvm, pyenv, or rbenv. Mise can handle all of them, from Python to Node, Ruby, Java, Go, Terraform, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project-Specific Environments&lt;/strong&gt;&lt;br&gt;
Each project can have its own version setup. No more “it works on my machine” issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Super Fast&lt;/strong&gt;&lt;br&gt;
Built in Rust, Mise is lightweight and blazing fast.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automatic Switching&lt;/strong&gt;&lt;br&gt;
It detects your project environment automatically — no need to run extra commands.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cross-Platform&lt;/strong&gt;&lt;br&gt;
Works on macOS, Linux, and Windows (via WSL).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  A Simple Analogy:
&lt;/h3&gt;

&lt;p&gt;If you’ve ever used &lt;code&gt;nvm&lt;/code&gt; for Node.js or &lt;code&gt;pyenv&lt;/code&gt; for Python, you already understand the concept. But those tools are &lt;strong&gt;language-specific.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mise is like having &lt;strong&gt;one universal remote&lt;/strong&gt; that controls all your development tools, not just one language at a time. It saves space, time, and sanity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thoughts:
&lt;/h3&gt;

&lt;p&gt;As developers, we often underestimate how much time is lost setting up environments. Mise gives that time back to you.&lt;br&gt;
It’s like a backstage crew that sets the stage perfectly before you walk in to perform.&lt;/p&gt;

&lt;p&gt;Whether you’re building apps, writing automation, or managing infrastructure — Mise ensures your environment is &lt;strong&gt;always ready, always right, and always in place.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>developer</category>
      <category>devdiscuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Time for JS brain teasers</title>
      <dc:creator>Akash K</dc:creator>
      <pubDate>Fri, 17 Mar 2023 06:39:51 +0000</pubDate>
      <link>https://forem.com/akashkumaravel/time-for-js-brain-teasers-2afa</link>
      <guid>https://forem.com/akashkumaravel/time-for-js-brain-teasers-2afa</guid>
      <description>&lt;p&gt;Hello Everyone!...&lt;/p&gt;

&lt;p&gt;No doubt that JavaScript is one of the weirdest programming language. I'm sure that many of you will agree with me!... So let's explore some of its weirdness together.&lt;/p&gt;

&lt;p&gt;Rub your hands!!... It's time for some quick JavaScript brain teasers.&lt;/p&gt;

&lt;p&gt;So Can you predict the output for the following consoles? &lt;/p&gt;

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

&lt;p&gt;Well I couldn't predict on the first try. If you've predicted it correctly congratulations!..For those who didn't crack it, you are not alone!.. &lt;/p&gt;

&lt;p&gt;Okay let's try to figure out&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log(1 +  "2" + "2");&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Here 1 is an integer whereas the "2" is a string. So what will happen will you try to add integer with a string? That's right! It will get concatenated instead of getting added. &lt;br&gt;
So the output is &lt;strong&gt;"122"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log(1 +  +"2" + "2");&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This is more similar to the first one but here one more + is there before "2", + before a string will convert that to an integer. So here "2" will become 2. Hence 1+2 will be 3 and the 3 will get concatenated to the final string which is "2". &lt;br&gt;
So the output is &lt;strong&gt;"32"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log(1 +  -"1" + "2");&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This is very similar to the above console, the difference here is instead of + here it is -. - will convert the string to negative integer. so "1" will become -1. 1+(-1) is 0 and it will get concatenated to the final string which is "2". &lt;br&gt;
so the output is &lt;strong&gt;"02"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log(+"1" +  "1" + "2");&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
No need of explanation I guess, you already know the answer. Yes the output is &lt;strong&gt;"112"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log( "A" - "B" + "2");&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Okay here we are trying to subtract a string("A") with another string ("B") which is not possible Right? so what do you think it will print? Exactly it will print NaN. But there is another string("2") after that so that will get concatenated.&lt;br&gt;
So the output is &lt;strong&gt;"NaN2"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;console.log( "A" - "B" + 2);&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This more similar to the last one. we know that "A" - "B" will print NaN and we know why. But here there is an integer(2) which is getting added which means NaN + 2. So what do you guess is the answer?&lt;br&gt;
The output is just &lt;strong&gt;"NaN"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thank you so much for making it so far. Please do share your thoughts on this.&lt;/p&gt;

&lt;p&gt;If you liked reading this blog, please don't forget to like ❤️, and share 🤩. See you in the next post.&lt;/p&gt;

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

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>JS Object Immutablity</title>
      <dc:creator>Akash K</dc:creator>
      <pubDate>Sat, 21 Jan 2023 10:11:53 +0000</pubDate>
      <link>https://forem.com/akashkumaravel/js-object-immutablity-gl0</link>
      <guid>https://forem.com/akashkumaravel/js-object-immutablity-gl0</guid>
      <description>&lt;p&gt;Hello Everyone!&lt;/p&gt;

&lt;p&gt;We all know that JavaScript objects are mutable by default. In this post, we'll look into few methods by which we can make objects immutable in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Object.preventExtensions
&lt;/h2&gt;

&lt;p&gt;Object.preventExtensions() method prevents new properties from being added to an object. &lt;br&gt;
In simple terms, New properties cannot be added to the object. But you can able to modify or delete the existing properties.&lt;/p&gt;

&lt;p&gt;The example below will provide you more insights&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbyqdjr0nl2dfajcagez.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbyqdjr0nl2dfajcagez.png" alt="preventExtensions Example" width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Object.seal
&lt;/h2&gt;

&lt;p&gt;Object.seal() method prevents new properties being added and existing properties being removed. seal() method will seal the object. &lt;br&gt;
In simple terms, New properties cannot be added and existing properties cannot be removed. But modification to the existing properties are allowed.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbl5scldb7wrvlprjt2t.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbl5scldb7wrvlprjt2t.png" alt="seal example" width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Object.freeze
&lt;/h2&gt;

&lt;p&gt;You probably might have heard about this before. Object.freeze() method freezes the entire object. This method makes the object unchangeable. New properties cannot be added. Existing properties cannot be deleted nor be updated.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf7j7whqpuh3v7yem0fn.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjf7j7whqpuh3v7yem0fn.png" alt="freeze example" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long story short&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Object.preventExtensions()&lt;/em&gt; - prevents addition of new properties&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Object.seal()&lt;/em&gt; - prevents addition of new properties and deletion of existing properties&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Object.freeze()&lt;/em&gt; - prevents addition of new properties. Deletion and modification of existing properties.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you so much if you have read it so far. Please do share your thoughts on this.&lt;/p&gt;

&lt;p&gt;If you liked reading this blog, please don't forget to like ❤️, comment 💬 and share 🤩 as your support means a lot to me.&lt;/p&gt;

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

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>JavaScript Console Types and Tricks</title>
      <dc:creator>Akash K</dc:creator>
      <pubDate>Fri, 13 Jan 2023 03:57:04 +0000</pubDate>
      <link>https://forem.com/akashkumaravel/javascript-console-types-and-tricks-1lef</link>
      <guid>https://forem.com/akashkumaravel/javascript-console-types-and-tricks-1lef</guid>
      <description>&lt;p&gt;Hello Everyone!&lt;/p&gt;

&lt;p&gt;As a web developer, we always use "console" to debug our code. In this post, we'll see some types of console that will help us in better debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Console.log
&lt;/h2&gt;

&lt;p&gt;As a web developer we are so familiar with this console type. &lt;/p&gt;

&lt;p&gt;console.log() is used to output a message or content to the web console. The message can be of any type.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjht2spb48i2ebf1j6bbk.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjht2spb48i2ebf1j6bbk.png" alt="console.log example" width="214" height="45"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Console.warn
&lt;/h2&gt;

&lt;p&gt;console.warn() outputs a warning message to the web console. &lt;br&gt;
This is more similar to console.log but the warning message will have a small exclamation point next to it.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvduhh15c4rhp7nkiqi05.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvduhh15c4rhp7nkiqi05.png" alt="console.warn example" width="290" height="38"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Console.error
&lt;/h2&gt;

&lt;p&gt;console.error() outputs a error message to the web console.&lt;br&gt;
This is more similar to the console.warn but the error message will be in red color and have a error symbol next to it.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxullf69wr1q1hd2raewh.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxullf69wr1q1hd2raewh.png" alt="console.error example" width="284" height="52"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4) Console.trace
&lt;/h2&gt;

&lt;p&gt;console.trace() method outputs a stack trace to the web console.&lt;br&gt;
This shows the trace of the file in which this particular console got called. Even you can give a trace label to identify a particular trace. &lt;br&gt;
console.trace(label)&lt;/p&gt;

&lt;p&gt;Still confused?? Hopefully the below image will give some insight.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8sybjloxoa9fe7gxc9n.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8sybjloxoa9fe7gxc9n.png" alt="console.trace example" width="326" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This outputs,&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpve2m5jp8arr33m0ofd.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkpve2m5jp8arr33m0ofd.png" alt="output" width="694" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5) Console.clear
&lt;/h2&gt;

&lt;p&gt;console.clear() clears the console if the console allows it. &lt;br&gt;
console running on the browser will allow to clear it whereas a console displaying on the terminal like the one in Node will not allow it.&lt;/p&gt;

&lt;h2&gt;
  
  
  6) Console.count
&lt;/h2&gt;

&lt;p&gt;console.count() logs the number of times that this particular call to count() has been called. &lt;/p&gt;

&lt;p&gt;Similar to trace, you can give a label to identify the count.&lt;br&gt;
console.count(label)&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquaadyd8ihiszpiqrrav.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquaadyd8ihiszpiqrrav.png" alt="console.count example" width="572" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The output will be like &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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h0aq8w2cb9wml1qgxsk.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h0aq8w2cb9wml1qgxsk.png" alt="output" width="183" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7) Console.group
&lt;/h2&gt;

&lt;p&gt;console.group() method creates a new inline group in the web console log. Any subsequent console.log() will be indented by an additional level, making it look like a group until the console.groupEnd() is called. &lt;/p&gt;

&lt;p&gt;This console.group() method should be used with the console.groupEnd() method. These methods are used to group the console logs.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipmfvzdjxgbyfkq71y62.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipmfvzdjxgbyfkq71y62.png" alt="console.group example" width="301" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8) Console.time
&lt;/h2&gt;

&lt;p&gt;console.time() method starts a timer to track how long an operation takes. You can give each timer a unique name, and may have up to 10,000 timers running on a given page. &lt;/p&gt;

&lt;p&gt;This method should be used with the console.timeEnd() method which is used to stop the timer.&lt;/p&gt;

&lt;p&gt;Using these methods you can track the execution time of a particular code block or function.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdunoij9dxh0el7n32yr0.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdunoij9dxh0el7n32yr0.png" alt="console.time example" width="275" height="235"&gt;&lt;/a&gt;&lt;br&gt;
This outputs the run time of function foo, &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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw278f3gshydg2416nq8.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw278f3gshydg2416nq8.png" alt="output" width="257" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NOTE: The label in the time() method should match with the timeEnd() method to stop the tracker. Since you can run multiple trackers at the same time, label is used to stop a particular tracker.&lt;/p&gt;

&lt;h2&gt;
  
  
  9) Console.timeLog
&lt;/h2&gt;

&lt;p&gt;console.timeLog() method logs the current value of a particular timer that was previously started by console.time().&lt;br&gt;
Using this method you can check the value of that particular timer in between the execution.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr69ttyworc6hhf4bzew9.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr69ttyworc6hhf4bzew9.png" alt="console.timeLog example" width="422" height="300"&gt;&lt;/a&gt;&lt;br&gt;
This outputs&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7bv801zij8rdxbd76bk.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7bv801zij8rdxbd76bk.png" alt="output" width="256" height="165"&gt;&lt;/a&gt;&lt;br&gt;
NOTE: The label in the time() method should match with the timeLog()&lt;/p&gt;

&lt;p&gt;Thank you so much if you have read it so far. This is my first blog post. Please do share your thoughts on this.&lt;/p&gt;

&lt;p&gt;If you liked reading this blog, please don't forget to like ❤️, and share 🤩 in order to show your support as your support means a lot to me.&lt;br&gt;
method. &lt;/p&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>ai</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
