在 JavaScript 中,var、let和const是用于声明变量的关键字。
let和const是JavaScript里相对较新的变量声明方式。
let用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
const声明一个只读的常量。一旦声明,常量的值就不能改变。
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
对于const来说,只声明不赋值,就会报错。
示例:
const PI = 3.1415;
console.log(PI) // 3.1415
PI = 3; // Uncaught TypeError: Assignment to constant variable.
const a; // Uncaught SyntaxError: Missing initializer in const declaration
var、let 和 const 的区别:
重复声明
var:可以重复声明同一个变量。let和const:不允许在同一作用域内重复声明同一个变量。
var a = 1;
var a = 2; // 不会报错
let b = 3;
let b = 4; // Uncaught SyntaxError: Identifier 'b' has already been declared
const c = 5;
const c = 6; // Uncaught SyntaxError: Identifier 'c' has already been declared
变量提升
var:存在变量提升,即在变量声明之前使用该变量,不会报错,只是值为undefined。
当函数开始的时候,就会处理var声明(脚本启动对应全局变量)。
换言之,var声明的变量会在函数开头被定义,与它在代码中定义的位置无关(这里不考虑定义在嵌套函数中的情况)。let和const:不存在变量提升,在声明之前使用会报错。
使用 var 声明,示例:
console.log(a); // 输出 undefined
var a = 10;
// 上面代码的实际执行顺序如下:
// var a;
// console.log(a);
// a = 10
使用var声明变量 a ,会发生变量提升,即脚本开始运行时,变量 a 已经存在了,但是没有值,所以会输出undefined。
使用let 、const声明,示例:
c

最低0.47元/天 解锁文章
1222

被折叠的 条评论
为什么被折叠?



