SOLID Principles in JavaScript

Which SOLID principle is demonstrated in this implementation of shape area calculation?
class Shape {
  area() {
    throw new Error('area() must be implemented');
  }
}

class Rectangle extends Shape {
  constructor(width, height) {
    super();
    this.width = width;
    this.height = height;
  }

  area() {
    return this.width * this.height;
  }
}

class Circle extends Shape {
  constructor(radius) {
    super();
    this.radius = radius;
  }

  area() {
    return Math.PI * this.radius * this.radius;
  }
}
Next Question (10/20)