VStudio或ReSharper给我以下建议:
在这种情况下常量是什么意思?如果在当前方法范围内是常量,那么目的是什么?方法往往很小,因此与常规var相比,它不应该具有任何优势?
请让我有资格
没什么复杂的。
最好使用const
而不是let
(绝对是var
),因为const使其他编码器更容易使用,或者将来您回到相同的代码时,可以更轻松地了解继续,因为您只需要查看初始赋值就可以知道变量的内容。因此,建议您尽可能使用它。
应注意,尽管不能重新分配常量,但可以重新分配其内容。因此,const x = [1]; x[0] = 2;
是完全有效的代码,但它是一种确定的反模式,因为应该期望一个常数保持不变。如果要使用更复杂的数据结构,请查看ImmutableJs或其他一些可以使用不可变数据结构的库。
const
和let
关键字是ECMAScript 2015标准的一部分。因此,当使用const
或let
并向下编译为较旧的ECMAScript目标时,会将const
和let
转换为较旧的var
。如今,所有browsers support const
都没有使用任何一种的实际性能考虑。