Como criar constantes Javascript como propriedades de objetos usando a palavra-chave const?
Como as constantes não podem ser definidas como propriedades de objetos que são variáveis em si?
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
E como as constantes passadas por referência de repente se tornam variáveis? EDIT: Eu sei App não vai (ou melhor ... não deveria) ser mutável; isso é apenas uma observação ...
(function() {
const App;
// bunch of code
window.com_namespace = App;
}());
window.com_namespace; // App
window.com_namespace = 'something else';
window.com_namespace; // 'something else'
Como uma biblioteca de namespaces singela organizada, extensível, orientada a objetos e bem organizada, contendo constantes, pode ser feita com essas limitações?
EDIT: eu acredito zi42, mas eu só tenho que perguntarporque