• 声明变量let和const


    1.let的声明

    JavaScript中用var关键字来声明变量,而在ES6中,还可以使用新增的let的关键字来声明变量。与var不同的是let声明的变量只能在代码块中有效。

    1. {
    2. let a=5;
    3. var b=6;
    4. console.log(a);
    5. console.log(b);
    6. }

    执行结果:

     能正常输出,但如果我们把输出放在括号外面,例如下面的代码:

    1. {
    2. let a=5;
    3. var b=6;
    4. }
    5. console.log(a);
    6. console.log(b);

    执行结果:

     说明变量a在未被声明的范围内使用。

    2.先声明后使用

    使用var声明变量时,可以先使用后声明,不会报错,而使用let声明变量时,如果未先声明变量却去使用它的话,就会出现错误。例如下面这段代码:

    1. console.log(a);
    2. var a=5;

    执行上面这段代码后,控制台出现的结果: 

     

    1. console.log(b);
    2. let b=10;

    执行结果:

     3.重复变量名

    使用var声明变量时,允许在相同作用下声明多个相同 变量,但是后声明变量会覆盖先声明变量。例如下面这段代码:

    1. var a=10;
    2. var a=15;
    3. console.log(a);

    执行上面这段代码,控制台输出结果如下: 

     

    与var关键字不同的是,let关键字声明变量时,相同的作用域中不允许重复声明变量。例如下面这段代码:

    执行上面这段代码后,控制台属性胡一下错误信息: 

     

     说明变量a已经声明了,这里不能重复声明该变量了。

    4.const命令:

    在ES6中使用const命令声明一个只读常量,该常量一旦声明就不能改变,并且在声明该常量的同时就必须立刻进行初始化,例如下面这段代码:

    1. const PI=3.1415926;
    2. console.log(PI);

     执行结果如下:

     

    但如果在输出之前重复为其赋值,例如下面的代码:

    1. const PI=3.1415926;
    2. PI=4;
    3. console.log(PI);

    这样控制就会输出以下错误信息: 

     

     

  • 相关阅读:
    程序员写不写注释?
    SprimgMVC增删改查·
    Linux进阶-linux内核
    RPC与微服务
    MyBatis基础之注解与SQL 语句构建器
    执行npm install时老是安装不成功node-sass的原因和解决方案
    视频剪辑中花式抠图的代码实操与案例详述
    【C++】string 之 substr、insert、erase函数的学习
    DataX 数据迁移
    python3基础知识复习 --异步IO(asyncio,aiohttp)
  • 原文地址:https://blog.csdn.net/gjbss/article/details/128048265