JSの無名クラス

JSでは無名関数を定義できるように、無名クラスも定義できる

無名関数はこういうやつ

const f1 = function(a) { return a * 2; }
f1(10)  // => 20

const f2 = (a) => a + 1;
f2(10)  // => 11

一方、無名クラスは

const c1 = class {
  #hoge;
  constructor(a) {
    this.#hoge = a;
  }
  get hoge() {
    return this.#hoge;
  }
}

const i1 = new c1("fuga")
i1.hoge   // => "fuga"

このクラス式を使って即時インスタンス生成も可能です

const i2 = new class {
  #hoge;
  constructor(a) {
    this.#hoge = a;
  }
  get hoge() {
    return this.#hoge;
  }
}("fuga")

i2.hoge   // => "fuga"

どういう場合に使えばいいのかは知らん。通常のオブジェクト定義では使えないプライベート変数がを使いたい時だろうか?