JS中的变量
let定义变量
- 与var类似,用来定义变量
特点:
1.块级作用域(第三种作用域)。let所声明的变量,只在let命令所在的代码块内有效。
function name(){
let a = 1 ;
}
name();
coonsole.log(a)

在使用var的时代,只有全局作用域和局部作用域,在es6中提出let关键,可以声明一个块级作用域。
let没有“变量提升”现象。
不会成为window对象的属性
暂时性死区(TDZ)
不能重复定义
let a=1;
let a=1;
console.log(a)

const定义变量
- const:声明常量。值不能改变。
特点:
1,定义完后,不能修改值(基本数据类型,也可能是地址)
const obj = {name:"xiaoming"}
console.log(obj)
obj.age = 100;
console.log(obj)
obj = 1;
console.log(obj)

2,不能重复声明
const a =1;
const a=2;
console.log(a)

3,没有提升
4,声明时必须赋值
const a;
console.log(a)
