zltzlt 发表于 2020-1-16 19:25:09

JS 中 let、var、const 的区别

JS 中 let、var、const 的区别

1. const

const 定义的变量必须初始化,不能重复声明。例如,下面的两段代码都是错的:

const a;
console.log(a);

const a = 5;
a = 3;
console.log(a);

const 实际上规定的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动,通过调用变量的方法而改变用 const 定义的变量是可以的。例如:

const a = ;
a.push(3);
console.log(a);
// 输出

2. let

在 ES6 中新增了 let 关键字,可以用 let 定义块级作用域变量。例如:

for (let i = 0; i < 10; i++) {
console.log(i);
}

用 let 声明的变量只在花括号内有效。例如,下面的代码是错误的:

for (let i = 0; i < 10; i++) {
console.log(i);
}
console.log(i); // ReferenceError: i is not defined

和 const 一样,let 定义的变量也不能重复声明,例如,下面的代码是错误的:

let a = 0;
let a = 1; // SyntaxError: Identifier 'a' has already been declared

3. var

var 定义的变量可以修改。例如:

var a = 5;
a += 5;
console.log(a); // 10
页: [1]
查看完整版本: JS 中 let、var、const 的区别