const let var区别

56 阅读1分钟

作用域来说

let`和`const`声明的变量具有块级作用域,这意味着它们只在当前代码块内有效,而`var`
声明的变量具有函数级作用域,即在整个函数内有效

变量提升

`var`声明的变量存在变量提升现象,即在声明前使用变量也不会报错,
但变量的值为undefined。而`let``const`声明的变量不存在变量提升,
如果在声明前使用变量会抛出ReferenceError错误

重复声明

`var`声明的变量可以被重复声明,而`let``const`声明的变量不允许重复声明。

window对象的属性和方法

-   window对象的属性和方法:在全局作用域中,`var`声明的变量,通过function声明的函数,会自动变成window对象的属性或者方法。而`let``const`不会。