静态方法和实例方法有什么区别?

静态方法属于一个类,不作用于其实例。这意味着它们不能在类的实例上调用,而是在类本身上调用。它们通常是实用函数,例如用于创建或克隆对象的函数。

实例方法属于类的原型,被所有类的实例继承。因此,它们作用于类的实例并可以在实例上调用。

const arr = [1, 2, 3];  // 一个数组实例

Array.isArray(arr);     // Array的静态方法
arr.push(4);            // Array的实例方法

在ES6类的上下文中,使用static关键字来定义类的静态方法。相反,未定义为static的方法是实例方法。