let,const,var 的区别。const 定义的对象是否可以修改

我的答案 网络回答
let,const是ES6的新语法,var是ES5的语法,
let用来替代var声明变量
const用来替代var声明常量
因为const重复声明会报错
(const不可以被修改,但是引用类型可以修改)
所以一般用来声明一些不想被修改的内容
var可以实现变量提升,但是let和const不行
所以对于let和const来说可以拥有块级作用域
var不受块级作用域的影响,会被预编译
ES5 中作用域有:全局作用域、函数作用域,没有块作用域的概念。
ES6 中新增了块级作用域
var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。
好的,我完美的忘记了暂时性死区这个专有名词

图片来源于——老子||花钱买的||慕课网的前端工程师的课......