JavaScript doesn't have abstract classes, but you can throw errors for methods that must be implemented.
class Shape {
area() {
throw new Error("Subclass must implement area()");
}
}
class Circle extends Shape {
area() {
return Math.PI * this.radius ** 2;
}
}
This pattern ensures subclasses provide required methods.