interface obj {
bar: string
}
function randomFunction() {
let foo: obj = { bar: "" }
foo.bar = "hip"
}
let snack: obj = { bar: "" }
snack.bar = "hop"
我从tslint收到这个警告:
标识符'foo'永远不会被重新分配;使用'const'而不是'let'。 (比较喜欢-常数)
虽然我在变量snack
的第二种情况下没有收到此警告。
我可以摆脱这个警告(在转编时使我的控制台变得杂乱)
/* tslint:disable: prefer-const */
我没有在tslint project上找到任何错误报告。 因为我是打字稿的新手,所以我想知道:我这里有什么问题吗?
答案 0 :(得分:3)
tslint要求您将let
更改为const
,因为未重新分配标识符foo
。
可以通过编写const
:
const foo: obj = { bar: "" };
foo.bar = "hip";
请注意,const
修饰符仅表示您无法重新分配标识符:
const foo = { bar: "" };
foo = { bar: "" }; // error
它不会使对象本身只读。