30秒学会 JavaScript 片段 · 2023年6月26日

30秒学会 JavaScript 片段 – What is the difference between static and instance methods?

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.

翻译自:https://www.30secondsofcode.org/js/s/static-instance-methods