gpt4 book ai didi

javascript - 有没有办法通过变量访问 es6 常量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:12:13 25 4
gpt4 key购买 nike

有没有办法通过变量访问 ES6 常量?

例如

const OPEN_TAB = 0;
const CLOSE_TAB = 1;

let action = 'OPEN';

console.log(window[`${action}_TAB`]); <-- something like that

最佳答案

不,没有 (*)。 const 声明不会成为全局对象的属性。

你需要找到另一种解决方案,比如创建一个对象并将其卡住(使其不可变):

const TAB = Object.freeze({
OPEN: 0,
CLOSE: 1,
});

console.log(TAB[action]);

我认为依赖全局变量(即 var)成为全局对象的属性无论如何都是糟糕的设计。如果您想按名称查找某物,您确实应该有 map 或记录之类的东西(如上所示)。


*: 嗯,你可以使用 eval...

关于javascript - 有没有办法通过变量访问 es6 常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com