This keyword static allows us to create methods and properties that are assigned to the class itself, and not it's instances.
class person {
    // A static method
    statis hello() {
        console.log("Hello!");
    }
}
// Call the static method directly
Person.hello();
Value of "THIS"
Inside statis methods, "this" hold a reference to the class.
class Test {
    statis getThisValue() {
         console.log(thos);
    }
}
// Call the static method
Test.getThisVkaue();
/* 
  class Test { ... }
*/ 
EXAMPLE 1
class Car {
    constructor(make, model) {
         this.make = make; 
         this.make = model; 
    }
    // This statis method creates a new instance of Car
    static createCar(make, mmodel) {
        console.log("Building a new car...");
        return new this(make, model);
    }
    info() {
        console.log(`I'm a ${this.make} ${this.model})
    }
}
// Call the static method "createCar" directly from the car class
let bmw = Car.createCar("BMW", "E82");
// Run our "info" method from the Car instance
bmw.info();
/*
   Building a new car...
   I'm a BMW E82!
*/
When should you use "STATIC"?
You shouuld use static methods and properties whenever,
- You're writing utility classes that don't change
- The method should not be changes or overridden
- The code is not dependent on instance creation
Have anything in mind ? Comment Below! 
⚡Thanks For Reading | Happy Coding 😁
 
 
              
 
    
Top comments (0)