以以下几行为例:
let c=[]
c[0]=23
以及这些:
let creationDate = new Date(date)
creationDate.setDate(creationDate.getDate() + daysTTL);
两个let语句都将引发ESLint错误
Identifier .... is never reassigned; use 'const' instead of 'let'.
是否有更好的方法指示ESLint我实际上正在更改值,或者该规则不适用于结构化数据/不适用于结构化数据?
还是我应该切换到const?
答案 0 :(得分:0)
实际上,由ESLint引起的问题是由于差异很小,因此const
用于从未使用=
重新分配的变量,而let
则用于将肯定重新分配的变量使用=
。
让我用您的两个例子来解释一下,
在第一个示例中,变量c
未被重新分配,只是其元素的值已被更改或分配,因此不是在c
上而是在其元素c[0]
关于第二个示例,您正在更改对象的属性值,但没有将该对象重新分配给另一个对象或新对象。
是否使用const
或let
取决于您是否将使用=
重新分配。
希望这很有帮助