コメントでご指摘いただき修正しました 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