为什么 Typescript 中的数组是 const

Mau*_*ldi 0 typescript tslint

我正在使用TSLint处理VS Code,在某些时候 TSLint 建议我重新定义一个数组变量,而不是constlet

let pages = [];
Run Code Online (Sandbox Code Playgroud)

“标识符“pages”永远不会重新分配;使用“const”而不是“let”。(首选 const)”

但由于数组是可变变量,为什么const应该优先使用 a 而不是let

Jon*_*øgh 5

Const 与标识符所引用的数据的可变性无关,只与是否可以将标识符完全重新分配给其他内容有关。换句话说,以下行为是非法的:

const foo = [1,2,3]
foo = [4,5,6]
Run Code Online (Sandbox Code Playgroud)

而可以用 let 来完成:

let foo = [1,2,3]
foo = [4,5,6]
Run Code Online (Sandbox Code Playgroud)