📅  最后修改于: 2023-12-03 14:43:53.114000             🧑  作者: Mango
在 TypeScript 中, let 和 const 都是用来声明变量的关键字,它们之间有一些不同点。
let
是用来声明可变变量(Mutable Variables)的,也就是说,通过 let
定义的变量可以重新赋值。下面是一个例子:
let x = 10;
x = 20; //可以重新赋值
let
声明的变量有一个特殊的作用域,称为块级作用域(Block Scope)。它只在当前块中起作用,并且在块外是不可访问的。下面是一个例子:
function test() {
let x = 10;
if (true) {
let x = 20; //在新的块级作用域中声明一个新的变量
console.log(x); //20
}
console.log(x); //10
}
test();
上面的代码中,我们在 if
语句块中声明了一个新的 x
变量,并将其值赋为 20。在语句块外的 x
变量的值仍然是 10。
const
是用来声明不可变变量(Immutable Variables)的,也就是说,通过 const
定义的变量不可以重新赋值。下面是一个例子:
const x = 10;
x = 20; //TypeError: Assignment to constant variable.
与 let
相同,const
声明的变量也有块级作用域。下面是一个例子:
function test() {
const x = 10;
if (true) {
const x = 20; //在新的块级作用域中声明一个新的变量
console.log(x); //20
}
console.log(x); //10
}
test();
上面的代码中,我们在 if
语句块中声明了一个新的 x
变量,并将其值赋为 20。在语句块外的 x
变量的值仍然是 10。
let
和 const
的主要区别在于可变性(Mutability),也就是说,let
定义的变量是可变的,而 const
定义的变量是不可变的。除此之外,它们还有一个作用域的区别,let
的作用域是块级的,而 const
也是一样。