this.constructor.foo のような感じになります
this.constructor を使わなくてもクラス名でのアクセスはできます
ただ クラスごとに名前が違ってコピペすると修正しないといけません
さらにクラス名を変えたときにクラス内のコードまでチェックして修正が必要になります
それを避けるために常に同じ名前でクラスのコンストラクタを取得できる仕組みが欲しいです
それが this.constructor になります
でも長くて書くのが面倒なんですよね
それを楽にするためにこういうことしてみました
const $ = class {
static foo = 1
bar() {
return $.foo + 1
}
}
export { $ as Class1 }import { Class1 } from "./module.js"
console.log(new Class1().bar())
// 2
クラス名を使ってアクセスするのですがそれを常に $ にします
特殊な変数名ぽいので丁度いいと思います
ただクラス名が $ になってしまうと使うときに困るので エクスポートするときに適切な名前にします
モジュールに分けていると 1 つのモジュールファイルの中でクラスをいくつも定義してエクスポートすることはそうないと思いますし わりとありかなと思います
シンプルで使いやすいですし