Ida*_*lan 3 javascript syntax ecmascript-6
无论如何通过变量访问ES6常量?
对于前者
const OPEN_TAB = 0;
const CLOSE_TAB = 1;
let action = 'OPEN';
console.log(window[`${action}_TAB`]); <-- something like that
Run Code Online (Sandbox Code Playgroud)
不,那里没有 (*).const声明不会成为全局对象的属性.
您需要找到另一个解决方案,例如创建一个对象并冻结它(使其不可变):
const TAB = Object.freeze({
OPEN: 0,
CLOSE: 1,
});
console.log(TAB[action]);
Run Code Online (Sandbox Code Playgroud)
我认为依赖全局变量(即var)成为全局对象的属性无论如何都是糟糕的设计.如果你想通过名字查找一些东西,你真的应该有一些像地图或记录(如上所示).
*:嗯,你可以用eval......
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |