Полноценных констант уровня классов в JavaScript пока нет, но мы можем сэмулировать их наличие с помощью статических getter-ов:
1 2 3 4 5 6 7 8 9 |
export default class CollectableGameObject extends GameObject { static get TIME_TO_LIFE() { return 10000; } static get TIME_TO_MOVE_TO_BACKPACK() { return 500; } static get TIME_TO_JUMP_FROM_CREATION_POINT() { return 500; } // ... } |
Благодаря модификатору static к ним можно будет обращаться через название класса, а так как это getter-ы, то обращение будет выглядеть как к настоящим константам: CollectableGameObject.TIME_TO_LIFE, CollectableGameObject.TIME_TO_MOVE_TO_BACKPACK.
1 2 3 4 |
let someTime = CollectableGameObject.TIME_TO_LIFE + someAnotherTime + CollectableGameObject.TIME_TO_MOVE_TO_BACKPACK + additionalTime; |
Ищщо бывает
Object.freeze???