1、es6中的let const var的区别?

let和var的区别:
1.var在js中是支持预解析的,而let不支持预解析,也就是变量提升的区别;
2.var可以重复定义一个变量,但是let不可以;
3.let可以形成块级作用域;
4.var定义的全局变量会被挂载到window上,可以使用window访问,let定义的全局变量不会挂载到window对象上。

什么是预解析?

预解析:
在当前作用域中,JavaScript代码执行之前,浏览器会默认把所有带var和function声明的变量进行提前的声明或定义。  

总结:

var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。

https://www.cnblogs.com/phoebeyue/p/12846453.html

  

 

posted on 2020-11-26 16:44  liumcb  阅读(85)  评论(0编辑  收藏  举报