let
1、变量不能重复声明
let name = '小花花';
let name = '大花花';
2、块级作用域 全局,函数,eval
if else while for{
let name = '小花花';
}
console.log(name);
3、不存在变量提升
console.log(name);
let name = '小花花';//结果出错,这里如果是var就不会报错,undefined
4、不影响作用域链
{
let name = ‘小花花’;
function fn(){
console.log(name);
}
fn();//小花花
}
const
常量声明
const name = '小花花';
1、一定要赋初试值
2、一般常量用大写(潜规则)
3、常量的值不能修改
4、块级作用域
{
const PLAYER = 'UZI';
}
console.log(PLAYER);//报错
对于数组和对象的元素修改,不算做对常量的修改,不会报错
const TEAM = ['UZI','MING'];
TEAM.push('Meiko');