美文网首页让前端飞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