a, b и с - это разные, не связанные объекты.
Хотите изменить x конкретного объекта, вызывайте setX() на конкретном объекте:
const b = new B();
b.setX();
b.getX(); // 2
const c = new C();
c.setX();
c.getX(); // 2
Вы, конечно, можете вынести x в прототип и менять значение прототипа статическим методом:
class A {
static setX() {
A.prototype.x = 2;
}
}
A.prototype.x = 1;
class B extends A {
getX() {
console.log(this.x);
}
}
class C extends B {
getX() {
console.log(this.x);
}
}
A.setX();
const b = new B();
b.getX(); // 2
const c = new C();
c.getX(); // 2