为什么打字稿报告该变量未被使用,即使它在_close()
方法中被引用?
奇怪的是,如果删除private关键字,警告就会消失。
请注意,即使它是警告,它仍然无法编译。
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"noUnusedLocals": true, <-- This line
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
答案 0 :(得分:4)
Typescript抱怨你永远不会读取变量。您的_close
方法仅设置它。我认为打字稿正确地抱怨,如果你以后从未对使用它的价值感兴趣那么存储的意义是什么?
此外,如果删除private
修饰符,则错误消失,因为具有该类实例的任何人都可以读取该值。因此,typescript不再能够验证该值是否永远不会被读取(因为它可能被其他人使用)。但是对于private
,它只知道类方法可以访问它,所以如果它没有看到值在类本身的任何地方读取,它将产生错误。