前に書いたやつに関連して
constructor を書きたくないときの対処方法でこんなの思いついた

class C extends function(opt) {
this.x = opt.x
this.y = opt.y
} {
show() { console.log(this.x, this.y) }
}

new C({x: 1, y: 2}).show()
// 1 2

継承する関数だから constructor として実行される
constructor をクラス定義に書かなくていいいし
書き方的に一番上に固定されるから constructor 探す手間がはぶける
本来のプロトタイプで作るみたいに constructor とそのプロパティを別に分けられる
結構いいところが多いんだけど 関数を継承してるので 特定のクラスを継承したクラスを作れないデメリットあり

constructor を書きたくない理由は
◯ 単語が長い上に打ちづらい
◯ 他のメソッドと分けたい
◯ super() 書かないといけないのが面倒

クラスプロパティの記法だと defineProperty になって setter を使った代入にならない

class X (opt) {
x = opt.x
y = opt.y

show() { console.log(this.x, this.y) }
}