typescript - 在 switch case 中重新声明变量
问题描述
const answers = random.int(1, 5)
const embed = new MessageEmbed()
.setTitle('Bank Rob')
.setColor('GREEN')
switch(answers) {
case 1:
let description = `test 1`;
break;
case 2:
let description = `test 2`
break;
case 3:
let description = `test 3`
break;
case 4:
let description = `test 4`
break;
case 5:
let description = `test 5`
break;
}
embed.setDescription(description)
我正在尝试分配description
要在 switch case 语句之外使用的变量,但出现错误:
Cannot redeclare block-scoped variable "description"
解决方案
解决这个问题的最简单方法是完全避免switch
:将描述放在一个数组中并对其进行索引。
const DESCRIPTIONS = ['test 1', 'test 2', 'test 3', 'test 4', 'test 5'];
const answers = random.int(1, 5)
const embed = new MessageEmbed()
.setTitle('Bank Rob')
.setColor('GREEN')
embed.setDescription(DESCRIPTIONS[answers - 1]); // array is indexed from 0
推荐阅读
- java - ElasticSearh RestHighLevelClient ,如何添加重试?
- python-3.x - 是否还创建了内置模块的 pyc 文件?
- google-tag-manager - 可以在gtm脚本上方定义dataLayer,然后将数据推送到gtm脚本下方的dataLayer吗?
- r - 按基于条件创建的组汇总列值
- angular - 是否可以从角度的应用程序代码中强制进行硬应用程序更新(Ctrl + F5 浏览器模拟)?
- python - Python:表达式返回不同的响应 a=a+1 vs a+=1
- python-3.x - 漂亮的汤不解析嵌套表数据
- c# - 如何修复循环的结果
- python-3.x - 计算一组数据点的标准差
- c# - 如何在 C# 中全局声明 XDocument 命名空间?