![](/img/trans.png)
[英]is it possible to define a global constant variable from inside a function in javascript?
[英]How to a define a global constant from inside a function Javascript?
我正在構建一個由一組模塊組成的應用程序,這些模塊在應用程序引導時加載:
const MODULES = []
function registerModules(config) {
return modules.map(module => (new module(config)).install());
}
function bootstrap() {
MODULES = registerModules({...});
}
以上當然會引發錯誤。 我想要做的是僅在應用程序啟動時分配MODULE
常量,然后它應該被修復。 這可能嗎?
由於我必須傳遞給registerModules
的 config 變量,因此MODULES
初始化必須在bootstrap
內部進行。
如果您確實想:
bootstrap()
期間有一個已初始化但為空的MODULES
數組,並且MODULES
填充后不可變,並且registerModules
的當前函數簽名不變;然后你可以這樣做:
function bootstrap() {
Object.freeze(Object.assign(MODULES, registerModules({...})));
// OR:
// MODULES.push(...registerModules({...}));
// Object.freeze(MODULES);
}
如果您在調用bootstrap()
之前不堅持MODULES
的存在,並且您願意將該信息存儲在一個對象中,那么您可以按以下步驟進行:
const globals = {};
function bootstrap() {
globals.MODULES = registerModules({...});
Object.freeze(globals.MODULES);
}
一旦您對globals
感到滿意,您還可以凍結該對象:
Object.freeze(globals);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.