美文网首页让前端飞Web前端之路
var 与 ES6中的 let、const

var 与 ES6中的 let、const

作者: 碌碌无为杨大侠 | 来源:发表于2020-04-22 20:48 被阅读0次

首先你要清楚

  • JavaScript的作用域
  • 变量的提升
  • 常量与变量

一)变量提升

image1-1.png

由上图中可知:let与const的声明没有变量提升,if判断是为了提醒你代码执行前会进行预解析,所以打印的结果undefined

二)同一作用域下

image2-1.png

由上图可知:在同一作用域中let、const 的声明,不能被重复声明


image2-2.png
image2-3.png
image2-4.png

由上图可知:let 声明变量时可以不用赋值,且可以重新赋值;const 声明常量时,必须赋值,且常量的值不允许更改,复杂数据类型可以更改其属性image2-3.png

三)块级作用域

image3-1.png
当前所在的花括号里,就是一个块级做用域image3-1.png
  • for 循环时的经典demo

image3-2.png

总结

  • let、const的声明,不会进行变量提升;var可以
  • let、const的声明,同一作用域中不能被重复声明;var可以
  • let、const的声明,具有块级作用域
  • const声明的常量,赋值后不能再修改,复杂数据类型可以更改其属性 ; let和var可以修改
  • const声明常量时,必须赋值;let和var 声明是可以不用赋值

相关文章

网友评论

    本文标题:var 与 ES6中的 let、const

    本文链接:https://www.haomeiwen.com/subject/rqtwihtx.html