值被声明,并且仅在typescript中的if语句外部使用



在typescript中,我有如下代码:

let a = 'null'
if (condition) {
const a = 'condition was met'
}
const result = getName(a)

但是,编译/构建失败,因为const a = 'condition was met'中的a下面有一条黄线,表示a is declared but its value is never read。有人知道这个问题的修复方法吗?这样以后就可以使用a,我可以在if语句中更改它的值?如果我尝试删除let a = 'null',那么在const result = getName(a)中的一个下面会有一个红色下划线,表示Cannot find name 'a'

由于变量阴影,if块内部的let aconst a不相同。

你应该这样写:

let a = 'null'
if (condition) {
a = 'condition was met'
}
const result = getName(a)

此外,我认为你应该阅读有关let和const 的文档

相关内容

最新更新