Ось кілька речей, які ви могли зробити:
Експорт a const
з модуля . Залежно від випадку використання ви можете:
export const constant1 = 33;
І імпортуйте це з модуля, де це необхідно. Або, спираючись на ідею статичного методу, ви можете оголосити static
доступ аксесуара :
const constant1 = 33,
constant2 = 2;
class Example {
static get constant1() {
return constant1;
}
static get constant2() {
return constant2;
}
}
Таким чином, вам не знадобляться дужки:
const one = Example.constant1;
Приклад відповіді Вавилон
Тоді, як ви кажете, оскільки a class
- це лише синтаксичний цукор для функції, ви можете просто додати властивість, що не записується, наприклад:
class Example {
}
Object.defineProperty(Example, 'constant1', {
value: 33,
writable : false,
enumerable : true,
configurable : false
});
Example.constant1; // 33
Example.constant1 = 15; // TypeError
Це може бути приємно, якби ми могли просто зробити щось на кшталт:
class Example {
static const constant1 = 33;
}
Але, на жаль, цей синтаксис властивостей класу є лише у пропозиції ES7, і навіть тоді він не дозволить додати const
до властивості.