ES6的let const语法以及let和var的区别

2020-01-21  本文已影响0人  看庭前花开花落_望天上云卷云舒
一、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会存在块作用域(除对象以外的大括号都可被看做块级私有作用域)

注:笔记源于珠峰培训

上一篇 下一篇

猜你喜欢

热点阅读