JavaScript - Static Methods
JavaScript - Static Methods
What are Static Methods?
Astatic methodin JavaScript is defined using thestatickeyword followed by the method name. You can execute thestatic methodby taking the class name as a reference rather than an instance of the class.
The main benefit of the static method is that it can be used to create autilityfunction that doesn’t require the instance of the class for the execution. For example, aMathobject contains variousstatic methods, which we can invoke through Math class directly.
Also, you can use static methods to add all related methods under a single namespace. Furthermore, static methods give better performance than the regular class methods due to memory optimization.
In the following syntax, we define a static method calledgetSize()in the class calledTable−
class Table {
static getSize() { // Static method
return "10 x 10";
}
}
Table.getSize(); // Static method invocationIn the above syntax,getSize()is a static method. We used the class name to execute thegetSize()method.
Examples
Let’s understand the JavaScript static methods with the help of some examples of difference use-cases −
Example: Static Method
In the example below,printSize()is a static method, andgetSize()is a regular method in the table class. You can see thatprintSize()method is invoked using the table class name, andgetSize()method is executed using the class instance.
So, the class can contain static and non-static both methods.
Output
The size of the table is: 20 x 20
The color of the table is: BlackThe single class can also contain multiple static methods.
Example: Multiple Static Methods
In the below code, the table class contains theprintSize()andgetSize()static methods. Both methods are executed by taking the class name as a reference.
Output
The size of the table is 20 x 20
brThe color of the table is PinkA single class can contain multiple static methods with the same name. When you execute the static method with the same name, it executes the last method.
Example: Static Methods with the Same Name
In the example below, the table class contains the duplicateprintSize()method. In the output, you can observe that the code executes the secondprintSize()method.
Output
The size of the table is: 30 x 30You can also execute the static method of the class in the constructor. You can use this keyword followed by the constructor keyword followed by the static method name to execute the static method in the constructor.
Example: Static Method Execution in the Constructor
In the example below, theNumclass contains thegetSqrt()static method. We have executed thegetSqrt()method in the constructor.
Whenever you create a new object of theNumclass, it will store the square root of the number in the ‘sqrt’ property of the class.
Output
The square root of the 10 is: 100You can also execute the static method in the non-static method. You need to use the class name as a reference to execute the static method in the non-static method.
Example: Static Method Execution in Non-Static Method
In the example below,getSqrt()is a static method, andprintSqrt()is a regular class method. In theprintSqrt()method, we execute thegetSqrt()method.
We used the instance of theNumclass to execute the printSqrt() method.
Output
The square of 6 is: 36