Как создать константы Javascript как свойства объектов, используя ключевое слово const?
Почему константы не могут быть установлены как свойства объектов, которые сами являются переменными?
const a = 'constant' // all is well
// set constant property of variable object
const window.b = 'constant' // throws Exception
// OR
var App = {}; // want to be able to extend
const App.goldenRatio= 1.6180339887 // throws Exception
И почему константы, передаваемые по ссылке, вдруг становятся переменными? РЕДАКТИРОВАТЬ: я знаю, что приложение не будет (или, скорее ... ... должен) изменчивым; это просто наблюдение ...
(function() {
const App;
// bunch of code
window.com_namespace = App;
}());
window.com_namespace; // App
window.com_namespace = 'something else';
window.com_namespace; // 'something else'
Каким образом можно создать хорошо организованную, расширяемую, объектно-ориентированную библиотеку с одним пространством имен, содержащую константы, с этими ограничениями?
РЕДАКТИРОВАТЬ: я верю zi42, но я просто должен спроситьЗачем