Невозможно определить свойства прототипа в определении класса ES6

Я пробовал синтаксис ES6 и обнаружил, что не могу определить свойство прототипа или свойство экземпляра в определении класса, почему это запрещено?

Я использовалMyClass.prototype.prop=1 прежде, попробуйте ES7 компилятором babel, как показано ниже, все еще не можете определить свойство прототипа.

class MyClass{
  prop=1;
  static sProp=1;
}

Я не думаю, что определение свойства экземпляра опасно, в моей собственной браузерной игре есть два случая, когда требуется свойство prototype:

Экземпляры подкласса должны наследовать одно и то же значение свойства из базового класса:

var Building=function(){...}
Building.prototype.sight=350;
TerranBuilding.CommandCenter=...(CommandCenter extends Building)
TerranBuilding.Barracks=...(Barracks extends Building)

Таким образом, CommandCenter и Barracks будут иметь то же здание, что и 350.

new CommandCenter().sight===new Barracks().sight//All buildings have same sight

Эффект буфера переопределяет исходное свойство и удаляет буфер

Marine.prototype.speed=20
var unit=new Marine()
unit.speed===20//get unit.__proto__.speed 20
unit.speed=5//Buffer:slow down speed, unit.speed will override unit.__proto__.speed
delete unit.speed//Remove buffer
unit.speed===20//true, speed restore

Поэтому я думаю, что это должно добавить способ установить свойство prototype вместо полного его запрета, или вы можете дать какие-то другие решения для решения вышеупомянутых 2 случаев?

Ответы на вопрос(2)

Ваш ответ на вопрос