zoukankan      html  css  js  c++  java
  • const声明常量以及特点

    在ES6中使用 const 来声明常量

    首先什么是常量,常量就是相对于变量而言不可变动的量,111、'qqq' 这样都是常量。

    const nub = 1;
    console.log(nub);  //1

    在使用 const 的时候有以下几点需要注意:

    1、使用const声明常量一定要赋初始值,否则会产生语法错误

    const a = 1;
    
    const b; //SyntaxError: Missing initializer in const declaration

    2、常量的值不能修改

    正是因为 const 声明的变量不可以改变值,所以只要声明变量就必须进行初始化,不可以等声明之后再另外进行赋值

    const NUMBER = 'jojo';
    NUMBER;
    
    NUMBER = 'hell';  //TypeError: Assignment to constant variable.

    3、const 有块级作用域

    和 let 一样const也有块级作用域,只在声明所在的块级作用域之内有效

    {
        const age = 17;
    }
    age; //ReferenceError: age is not defined

    并且使用 const 声明的常量也不会提升,存在暂时性死区,只能在声明之后调用

        console.log(age);
        const age = 17;
    //ReferenceError: Cannot access 'age' before initialization

    4、对于数组和对象的元素修改,不算做对常量的修改,不会报错

     对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const 明亮只是保证变量名指向的地址不变,但是存储在这个地址里面的数据则有可能发生变化。

    const tim = [1,2];
    tim.push(3);
    console.log(tim);  //[1, 2, 3]

    上面这段代码中,常量 tim作为一个数组,是可以写入的并且不会报错,因为指向的地址并没有发生改变。但是如果将另外一个数组赋值给 tim 则会报错,因为这时候 tim指向的内存地址发生了改变。

    参考资料:https://www.w3cschool.cn/ecmascript/ueqp1q5g.html

    注意:声明数组或是对象的时候,使用 const 是比较稳妥的,可以避免常量变动错误。

  • 相关阅读:
    JQuery OOP 及 OOP思想的简易理解
    windows下编写shell脚本执行错误
    Kafka常用命令
    OffsetDateTime工具类
    windows下安装consul
    磁盘阵列方案
    shell基本语法记录
    学习CGLIB与JDK动态代理的区别
    Spring源码分析-BeanFactoryPostProcessors 应用之 PropertyPlaceholderConfigurer
    局域网内搭建git
  • 原文地址:https://www.cnblogs.com/nyw1983/p/13470956.html
Copyright © 2011-2022 走看看