概述
1.var是es5提出的,let和const是es6提出的。
2.const声明的是常量,必须赋值
- 一旦声明必须赋值,不能使用null占位
- 声明后不能再修改
- 如果声明的是复合类型类型,可以修改其属性
3.let和var声明的是变量,声明之后可以更改,声明时可以不赋值。
4.var允许重复声明相同变量,后一个变量会覆盖前一个变量(不合理);let和const在同一作用域内不允许重复声明相同变量,否则报错。
//var声明 ,相同变量不报错
var age=14
var age=15
console.log(age);
//let声明,相同变量报错
let age=14
let age=15
console.log(age);
5.var声明的变量存在变量提升(将变量提升到当前作用域的顶部),即变量可以在声明之前调用,值为undefined。let 声明仍然保留了提升特性,但不会盲目提升,即它们是先声明后才能调用,否则报ReferenceError错。
6.var不存在块级作用域;let和const存在块级作用域。
es5中作用域有:全局作用域、函数作用域,没有块级作用域的概念。
es6中新增块级作用域,块级作用域由{}包括起来,if语句和for语句里面的{}也属于块级作用域。
原文引自:
(5条消息) let、const、var的区别__是鱼的博客-CSDN博客_const,let,var区别
最后
以上就是独特白昼为你收集整理的var、let、const的区别的全部内容,希望文章能够帮你解决var、let、const的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复