Static methods belong to a class and don’t act on its instances. This means that they can’t be called on instances of the class. Instead, they're called on the class itself. They are often utility functions, such as functions to create or clone objects.
Instance methods belong to the class prototype, which is inherited by all instances of the class. As such, they act on class instances and can be called on them.
const arr = [1, 2, 3]; // An Array instance
Array.isArray(arr); // Static method of Array
arr.push(4); // Instance method of Array
In the context of ES6 classes, the static
keyword is used to define static methods for a class. Conversely, methods not defined as static
are instance methods.
Would you like to help us improve 30 seconds of code?Take a quick survey
Snippet collection
Prepare for your next JavaScript interview with this collection of interview questions and answers.
JavaScript, Object
Binds methods of an object to the object itself, overwriting the existing method.
JavaScript, Object
Creates a deep clone of an object. Clones primitives, arrays and objects, excluding class instances.
Learn the differences between the three most commonly used iteration methods offered by JavaScript, which often confuse beginners and veterans alike.