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)