let 关键字
用来声明变量,声明的变量的作用域为let命令所在代码块 块级作用域
if(true){
var a = 1;
let b = 2;
}
console.log(a); //1
console.log(b); //报错
块级作用域:一个大括号{ } 称为一个代码块
const 关键字
用来声明常量,声明的变量的值不可变;具有块级作用域,不可重复声明;声明时必须赋值
const p = 3.12;
console.log(p);//3.12
p = 4; //报错
console.log(p);
let / const 与 var 的区别
-
var 会进行预解析,let / const 不会进行预解析
-
var 可以声明两个重名的变量,其实就是用声明的方式改变变量的值
-
let / const 不能重新定义变量
-
var 没有块级作用域,let / const 有块级作用域
let 与 const 的区别
- let 可以先定义后赋值,const必须在定义时就赋值
- let 定义的变量 值可以被修改,const定义的变量不可修改