Chrome v72、V8 v7.2 から class の static メンバー変数をサポートしているので以下のような書き方ができる。
ただし、この構文は Mobile Chrome では 2019/09/12 現在 v77 であるが動作しなかった。
FireFox などでも勿論動作しないので注意が必要である。
class Counter { static _count = 0; static increment() { return this._count++; } }
では、Mobile でも動作する static メンバー変数はどう定義するか?
それはとても簡単である。以下のように static メンバー関数内でクラスメンバーとして初期化するだけである。
class Counter { static increment() { this._count = this._count || 0; return this._count++; } }