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