Пытаюсь разобраться с созданием enum-подобных структур в JavaScript. Хочу убедиться, что значения не будут случайно изменены в процессе выполнения программы.
Вот мой текущий подход:
const app = {
constants: {
StatusType: {
ACTIVE: 'active',
INACTIVE: 'inactive',
PENDING: 'pending'
}
}
};
// Использование в коде
function checkUserStatus(userStatus) {
if (userStatus === app.constants.StatusType.ACTIVE) {
console.log('Пользователь активен');
}
}
Правильно ли я понимаю, что такая структура обеспечит стабильность значений? Или существуют более надежные способы создания неизменяемых перечислений в JavaScript? Буду благодарен за советы по лучшим практикам.
Можно попробовать Object.defineProperty() - это даст больше контроля над свойствами. Или использовать Symbol для предотвращения перезаписи. А зачем нужна такая глубокая вложенность с app.constants? Может, проще упростить структуру?