Вы можете попробовать этот синтаксис для всех версий js
:
consts={};
function DefAsConst(varName, val){
Object.defineProperty(window.consts, varName, {
value: val, writable: false
});
}
DefAsConst("const_1", 4);
console.log(consts.const_1);
consts.const_1=100;
console.log(consts.const_1); //consts.const_1 is 4 still
Или попробуйте эту версию:
consts={};
consts.DefAsConst=function(varName, val){
Object.defineProperty(this, varName, {
value: val, writable: false
});
};
consts.DefAsConst("const_2", 40);
console.log(consts.const_2);
consts.const_2=100;
console.log(consts.const_2);