グローバルで使用するクラスのお話 for JavaScript [修正]
コメントでご指摘いただき修正しました
JavaScript のクラスは扱い的に関数のようです。
ですが、関数とは異なり const や let のように変更ができません。
(確か仕様でも const、let と同じくくりだったはず)
その為か、同じスコープ内にある同名のクラスは一度宣言すると中身が変えられないようです。
<script> class A{} class A{} // エラー </script>
ブラウザで上記の命令を実行した際のエラー文
Chrome
Edge (Build 10586)
Firefox
Safari Technology Preview
また、関数と同等らしいので delete が使用できません。
追記: 再定義はできないが再代入は可能
教えていただいた実行サンプル
https://jsbin.com/pijojotena/edit?js,console
値とクラスの代入が行われており、内容の変更ができています。
まとめ
グローバルで1度クラスを宣言すると、内容を変えることもできませんし、 再定義をすることができなく、消すこともできないこととなります。
また、再代入は可能とのことです。