我们以前都是使用 var 关键字来声明变量的。
在 ES6 的时候,多了两个关键字 let 和 const ,也是用来声明变量的只不过和 var 有一些区别。
1、let 和 const 不允许重复声明变量
// 使用 var 的时候重复声明变量是没问题的,只不过就是后的会把前面覆盖掉
var num = 100
var num = 200
2、let和const声明的变量不会进行声明提升。
通过let声明变量,之前的区域,叫做暂时性死区。
3、let和const声明的变量会被所有的代码块限制作用域(作用域更小),只要遇到大括号就形成作用域。
let num;
alert(num); //undefined
const num2 = 20;
alert(num2);
// 使用const 重复声明变量的时候就会报错
const num = 100
const num = 200 // 这里就会报错了
ii. let 和 const 声明的变量不会在预解析的时候解析(也就是没有变量提 升)
alert(num); const num = 10; alert(num);`
iii. let 和 const 声明的变量会被所有代码块限制作用范围
// var 声明的变量只有函数能限制其作用域,其他的不能限制
if (true) { var num = 100 }console.log(num) // 100
// let 声明的变量,除了函数可以限制,所有的代码块都可以限制其作用域
(if/while/for/...)
if (true) { let num = 100 console.log(num) // 100 }console.log(num) // 报错
4、let 和 const 的区别
let num num = 100 console.log(num) // 100
const num // 这里就会报错了,因为 const 声明的时候必须赋值
更多前端技术知识,请点击获取 大前端工程师自学视频教程。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!