JavaScript中var、let和const的区别详解
1. 前言在JavaScript中变量声明是编程的基础。为变量声明带来了新的选择。本文将对比var、let和const三者的区别如有缺漏欢迎补充2. 变量提升2.1 var的变量提升var声明的变量会被提升到作用域顶部但只提升声明不提升赋值console.log(a);vara5;console.log(a);vara;console.log(a);a5;console.log(a);3. 重复声明3.1 var允许重复声明varx1;varx2;console.log(x);3.2 let和const不允许重复声明lety1;lety2;// 报错constz1;constz2;// 报错const声明的并非真正的常量用const声明的对象和数组可以更改但不可重新赋值。4. 全局对象属性4.2 let和const在全局作用域let和const在全局作用域声明变量不会成为全局对象的属性letglobalLetIm let;constglobalConstIm const;console.log(window.globalLet);console.log(window.globalConst);5. const的特殊性不可重新赋值const声明的变量对于基本类型或常量对于引用类型不可重新赋值constnameAlice;nameBob;console.log(name);//报错