为什么不能将常量设置为对象的属性,而这些对象本身就是变量?
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
为什么通过引用传递的常量突然变成可变的?编辑:我知道 App 不会(或者更确切地说......不应该)是可变的;这只是一个观察...
(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,但我只需要问为什么