在 ES6 中,var、let和const都是用来声明变量的关键字,它们之间有一些区别:
var 的作用域是函数作用域,而 let 和 const 的作用域是块作用域。
在同一个作用域内,可以用 var 声明多个同名的变量,而用 let 和 const 声明同名变量会报错。
var 声明的变量可以被重新赋值,而用 const 声明的变量不能被重新赋值,而 let 声明的变量可以被重新赋值。
const 声明的变量必须在声明时初始化,而 let 和 var 声明的变量可以不初始化。
下面是一些示例代码来演示它们之间的差异:
function example() {
var x = 1;
let y = 2;
const z = 3;
if (true) {
var x = 4; // x 在整个函数作用域内都是 4
let y = 5; // y 在块作用域内是 5,在函数作用域内是 2
const z = 6; // z 在块作用域内是 6,在函数作用域内是 3
}
console.log(x); // 输出 4
console.log(y); // 输出 2
console.log(z); // 输出 3
}
example();
const a; // 报错,必须初始化
let b;
b = 1; // 没有问题
转载请注明:大后端 » ES6 中 var let const的区别