let与const 区别?
时间: 2024-02-07 21:03:26 浏览: 26
`let` 和 `const` 都是 ES6 中新增的声明变量的关键字。
`let` 声明的变量是可变的,可以重新赋值。而 `const` 声明的变量是不可变的,一旦被赋值后,就不能被重新赋值。
例如:
```javascript
let x = 1;
x = 2; // 可以重新赋值
console.log(x); // 输出 2
const y = 1;
y = 2; // 报错,不能重新赋值
console.log(y);
```
另外,`let` 和 `const` 的作用域也有所不同。`let` 声明的变量具有块级作用域,只在当前代码块内有效。而 `const` 声明的变量同样具有块级作用域,但是一旦被赋值后,就不能重新赋值,也就是说它是一个常量。
例如:
```javascript
{
let z = 1;
const w = 2;
}
console.log(z); // 报错,z 在当前代码块之外无法访问
console.log(w); // 报错,w 在当前代码块之外无法访问
```
相关问题
描述let与const的区别?
let和const是ES6中新增的关键字,用于声明变量和常量。let声明的变量可以被重新赋值,而const声明的变量不可被重新赋值。另外,const声明的变量必须在声明时赋值,而let声明的变量可以先声明再赋值。比如:
```
let a = 1; // 声明变量a并赋值1
a = 2; // 变量a可以被重新赋值
console.log(a); // 输出2
const b = 3; // 声明常量b并赋值3
// b = 4; // 错误:常量b无法被重新赋值
console.log(b); // 输出3
```
ts 中 let与const的区别
在 TypeScript 中,`let` 和 `const` 都用于声明变量,它们之间的主要区别在于:
1. 变量的可变性:使用 `let` 声明的变量是可变的,也就是说可以重新对该变量赋值。而使用 `const` 声明的变量是不可变的,一旦赋值后就不能再改变。
2. 作用域:使用 `let` 声明的变量具有块级作用域,只在声明它的块中有效。而使用 `const` 声明的变量也具有块级作用域,但它们被视为常量,一旦赋值后就不能再修改,因此通常用于声明不会改变的常量。
下面是一个使用 `let` 和 `const` 的示例代码:
```
function example() {
let a = 10;
const b = 20;
if (true) {
let a = 50;
const b = 100;
console.log(a); // 输出 50
console.log(b); // 输出 100
}
console.log(a); // 输出 10
console.log(b); // 输出 20
// b = 30; // 报错,const 声明的变量不可重新赋值
}
example();
```
在这个代码中,我们在函数中使用了 `let` 和 `const` 声明了两个变量 `a` 和 `b`。在 `if` 语句块中重新声明了一个同名的变量,但仅在该块中有效,不会影响到外部的变量。在函数末尾尝试重新赋值常量 `b` 时会报错,因为常量不能重新赋值。