下記のコードでプロパティの値は5に変わりません:

class TestClass{

  constructor(prop){
    this.prop = prop;
    TestClass.validateProp(prop); // 例えばpropは整数で、最小値は5でなければなりません
    console.log(this.prop)
  }

  static validateProp(prop){
    // 仮にこれは不正だとします
    this.prop = 5; // 最小値に設定
  }

}

let testInstance = new TestClass('不正値');

もしかして、ゲッター・セッターが必要かもしれません。インタネットで例の数は少なく、ゲッター・セッターの宣言で終わる事が多いです。こちらの投稿を基にして、上記のコードにゲッターとセッターを追加しましたが、prop5に成っていないままです。

class TestClass{

  constructor(prop){

    this.prop = prop;
    TestClass.validateProp(prop); // 例えば最小値は5でなければなりません
    console.log(this.prop)

  }

  set prop(newValue){
    this._prop = newValue;
  }

  get prop(){
    return this._prop;
  }

  static validateProp(prop){
    // 仮にこれは不正だとします
    this.prop = 5; // 最小値に設定
  }
}

let testInstance = new TestClass('不正値');

どうすればよろしいでしょうか。

(上記の例には、規定値が役に立ちますが、この質問の中心はクラスの中にプロパティを変更する事ですから、規定値を置いてください)