一、let和const
ES6中新增的用来创建变量和常量的
基于CONST创建变量,变量存储的值不能被修改(常量)
let a=12;
a=13;
console.log(a);//13
const b=12;
b=13; //=>报错
二、let 和var的区别
1、let 不存在变量提升(当前作用域中,不能在let声明前使用变量)
2、同一个作用域中,let不允许重复声明
3、let 解决了typeof的一个暂时性死区问题
console.log(a);//报错 Uncaught ReferenceError: a is not defined
console.log(typeof a);//=>"undefined" 这是浏览器BUG,本应该报错因为没有a,但却没有报错(这种情况属于暂时性死区)
//我们使用let 来解决这个问题 因为 let不能在let声明前使用变量
console.log(typeof a);//报错了
let a;
4、全局作用中,使用let 声明的变量并没有给window加上对应的属性
5、let会存在块作用域(除对象以外的大括号都可被看做块级私有作用域)
注:笔记源于珠峰培训
网友评论