JavaScript变量三大关键字var、let、const深度区别总结
JavaScript中变量声明有var、let、const三种关键字,能否彻底区分三者区别,是判断JS基础是否扎实的关键,也是面试高频考点和日常开发最常用的基础语法。很多初学者写代码报错、变量混乱、重复声明bug,全部源于对三种变量关键字使用场景不清晰。
首先是var,属于ES5旧语法,存在严重缺陷。var支持变量提升,可以先使用后声明,容易造成代码逻辑混乱;var没有块级作用域,只有全局作用域和函数作用域,if、for循环内声明的变量外部依然可以访问,极易造成变量污染;同时var允许重复声明同一变量,会覆盖原有数据,产生隐性bug,现代开发中已经不推荐使用var。
其次是let,是ES6新增变量声明方式,拥有块级作用域,大括号内声明的变量外部无法访问,解决了变量污染问题。let不存在变量提升,存在暂时性死区,必须先声明后使用,语法更严谨,且不允许重复声明,适合存储会发生变化的变量,例如计数器、状态值、动态数据。
最后是const,同样拥有块级作用域、不存在变量提升、不可重复声明,唯一区别是const声明的是常量,声明时必须赋值,且赋值后无法直接修改基本数据类型的值。const专门用于存储固定不变的数据,比如地址、端口、DOM元素、固定配置,是实际项目中使用频率最高的变量声明方式。
浙公网安备 33010602011771号