浅谈var,let,const

众所周知,var,let 是声明变量的,const是声明常量的

先简单剖析一下,var,let的区别

var 在ES6之前使用,而到了ES6之后官方就不推荐使用了,究其原因还是因为它自身的原因,导致代码令人感觉不太合理。

        console.log(num);
        var num = 10; // 打印 undefined, 而不是报错, 这说明var将变量的声明提升
        // var num;
        num = 10;
        console.log(num); // 打印 10, var 将变量num的声明提升到最顶层
        var num; 
       for(var i=0;i<5;i++){
        console.log("222222",i);
       }
       console.log("ssss",i) //由于用var声明的i,所以在这里能获取到for循环中的i,产生了变量污染

 

而如果换成let的话就会提示很正确的错误。

        console.log(num1);
        let num1 = 10; //Uncaught ReferenceError: Cannot access 'num1' before initialization
       for(let i=0;i<5;i++){
        console.log("222222",i);
       }
       console.log("ssss",i) //Uncaught ReferenceError: i is not defined 这是正常的错误

 const 声明的常量不能修改;

    const num = 10
    num = 11 // TypeError: Assignment to constant variable.
    console.log("num:",num)
        const num; 
        num = 10; // Uncaught SyntaxError: Missing initializer in const declaration
        console.log(num)

 

posted @   小杨同学906  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示