interface obj {
bar: string
}
function randomFunction() {
let foo: obj = { bar: "" }
foo.bar = "hip"
}
let snack: obj = { bar: "" }
snack.bar = "hop"
私はtslintからこの警告を受け取ります:
識別子 "foo"は決して再割り当てされません。 "let"の代わりに "const"を使用してください。 (prefer-const)
面白いことに、変数を使って2番目のケースでこの警告を受け取ることはできません snack
.
私はこの警告を取り除くことができます(これは、トランスコンパイル時に私のコンソールを混乱させます)。
/* tslint:disable: prefer-const */
私はバグレポートを見つけられませんでした。 tslintプロジェクト。 私はタイプコピーに新しいので、私は疑問に思っています。私はここで何か間違っていますか?
回答:
回答№1は1tslintがあなたに変更を要求しています let
に const
識別子 foo
再割り当てされません。
エラーは、代わりに const
:
const foo: obj = { bar: "" };
foo.bar = "hip";
なお、 const
修飾子は単に識別子を再割り当てできないことを意味します:
const foo = { bar: "" };
foo = { bar: "" }; // error
それはオブジェクト自体を読み込み専用にしません。