İşte yapabileceğiniz birkaç şey:
Bir verme const
ile ilgili modül . Kullanım durumunuza bağlı olarak şunları yapabilirsiniz:
export const constant1 = 33;
Ve bunu gerektiğinde modülden içe aktarın. Veya statik yöntem fikrinizi temel alarak bir static
get erişimcisi bildirebilirsiniz :
const constant1 = 33,
constant2 = 2;
class Example {
static get constant1() {
return constant1;
}
static get constant2() {
return constant2;
}
}
Bu şekilde parantez gerekmez:
const one = Example.constant1;
Babel REPL Örneği
Daha sonra, dediğin gibi, a class
bir işlev için sadece sözdizimsel şeker olduğundan, yazılamaz bir özelliği şu şekilde ekleyebilirsiniz:
class Example {
}
Object.defineProperty(Example, 'constant1', {
value: 33,
writable : false,
enumerable : true,
configurable : false
});
Example.constant1; // 33
Example.constant1 = 15; // TypeError
Sadece şöyle bir şey yapabilirsek iyi olabilir:
class Example {
static const constant1 = 33;
}
Ancak maalesef bu sınıf özellik sözdizimi yalnızca bir ES7 teklifindedir ve o zaman bile const
mülke eklenmesine izin vermez .