Comments In JavaScript
Tags: javascript, node
Published: 2024-06-17 16:19:06

## Audience:
Anyone who wrote Comments in any language, except JavaScript.

## For Impatient People like Me:
### JavaScript has two types of Comments:
1.Single-line Comments:
```js
//This is a comment.
console.log(`Hello World!`); // This is also a comment.
```
2.Multi-line Comments:
```js
/* This is 
also a comment
 spread on
many lines.
*/
```
 ---
## Why On Earth we need them?
To feel the need for Comments in Js, you need to pass through **three** stages:
### Stage-1: Hello World:
I wrote hello world and other programs which are under-10-lines-programs.
(And felt "What are Comments?")
### Stage-2: Guess the number:
Now I am writing 30-60 lines programs(like 'Guess the number').
(Feeling "I am a Pro, who can write code without Comments!"
### Stage-3: Calculator:
When I start writing programs which are above 100 lines:
1)Continuously writing for a week.
2)Suddenly stuck with a problem.
3)Take a break.
4)And guess what? Booom!
Everything I just wrote is a mess for myself.
(Here, I will feel "A little bit of Comments should make sense!")

 ---
**Buddy**: Can you prove it!
**Me**: Sure!
Here is a piece of Rust code without Comments:
```rust
    let short_cut_path: &str = &format!(
        "/home/{}/.local/share/applications/{}.desktop",
        whoami::username(),
        desktop_entry.app_name
    );
    let short_cut_path = Path::new(&short_cut_path);

    let mut short_cut_file: fs::File = match fs::File::open(&short_cut_path) {
        Ok(file) => {
            println!(
                "A short-cut with name '{}' already exists!!",
                desktop_entry.app_name
            );
            panic!("Try any other name for your short-cut!");
        }
        Err(error) => match fs::File::create(&short_cut_path) {
            Ok(file) => file,

            Err(why) => panic!("Error!\n\nUnable to create the short-cut!"),
        },
    };

    match short_cut_file.write_all(short_cut_template.as_bytes()) {
        Err(why) => panic!("Error:\n  Unable to create the short-cut!"),
        Ok(_) => println!("Successfully created short-cut!\n\nWait for a moment..."),
    };

```
Now, with Comments:
```rust
// Path to Desktop Short-cut in string format
    let short_cut_path: &str = &format!(
        "/home/{}/.local/share/applications/{}.desktop",
        whoami::username(),
        desktop_entry.app_name
    );
    // Creating Short-cut path by giving path-string to Path constructor 
    let short_cut_path = Path::new(&short_cut_path);

    //Opening the file as short_cut_file
    let mut short_cut_file: fs::File = match fs::File::open(&short_cut_path) {
        Ok(file) => {
            println!(
                "A short-cut with name '{}' already exists!!",
                desktop_entry.app_name
            );
            panic!("Try any other name for your short-cut!");
        }
        Err(error) => match fs::File::create(&short_cut_path) {
            Ok(file) => file,

            Err(why) => panic!("Error!\n\nUnable to create the short-cut!"),
        },
    };

    //Writing to the file
    match short_cut_file.write_all(short_cut_template.as_bytes()) {
        Err(why) => panic!("Error:\n  Unable to create the short-cut!"),
        Ok(_) => println!("Successfully created short-cut!\n\nWait for a moment..."),
    };

```
Buddy, clearly you can see the difference.
With just Comments, now the code makes a little sense to even newbies to code.

**Buddy**:Wait! You are explaining importance of Comments in JavaScript with Rust code?
**Me**:Ah, yeah!
**Buddy**:Unbelievable!
**Me**: Thank you!! Thank you!! 
Because, if you are able to get **Rust code** with just Comments,then Js code with Comments would be a cake!