在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 a
和const a
不相同。
你应该这样写:
let a = 'null'
if (condition) {
a = 'condition was met'
}
const result = getName(a)
此外,我认为你应该阅读有关let和const 的文档