• ES6之新增const命令使用方法


    hi,我又回来了,今天学习一下const命令。

    声明一个常量

    const声明一个只读常量,一旦声明,常量的值便不可改变。

    例子如下:

    const food = 12;
    food = 23; // Uncaught TypeError: Assignment to constant variable.
    

    还可以声明一个变量

    const可以声明一个变量,声明以后,必须初始化,否则变错。

    例子如下:

    const food; // Uncaught SyntaxError: Missing initializer in const declaration
    

    其他特性

    constlet有许多相似点:

    • 只在其声明的块级作用域中有效;
    • 不存在作用域提升,是暂时性死区,必须先声明,后使用;
    • 不能重复声明,否则会报错

    例子如下:

    //1.只在其声明的块级作用域中有效
    {
        const food = 'apple';
    }
    console.log(food); // Uncaught ReferenceError: food is not defined
    
    //2.暂时性死区
    {
        console.log(HI); // Uncaught ReferenceError: HI is not defined
        const HI = 'hello';
    }
    
    //3.不能重复声明
    {
        const food = 'apple';
        const food = 'orange'; // Uncaught SyntaxError: Identifier 'food' has already been declared
    }
    

    const的声明变量的本质

    const声明的变量,并不是说变量的值不能改变,而是对于变量指向那个的内存地址所保存的数据不得改动。

    • 如果声明的变量是基本数据,那值就保存在变量指向的那个内存地址,可以理解为对于常量。

    • 但是如果声明的变量是一个引用数据类型,那只能保证变量保存的指针地址不变,至于变量里面的属性和值,就不能保证了。

    注意:如果把这个声明的引用数据类型变量指向另一个对象,就会报错。

    例如:

    
    // 常量是一个对象
    const About = {};
    About.us = 'usb';
    About.ua = 'usc';
    console.log(About); // {us: "usb", ua: "usc"}
    About = {}; // Uncaught TypeError: Assignment to constant variable.
    
    //常量是一个数组
    const BALL = [];
    BALL.length = 2;
    BALL[0] = 'haha';
    BALL = []; // Uncaught TypeError: Assignment to constant variable.
    

    补充:声明变量的方法

    • ES5的varfunction命令。
    • ES6的letconst命令。

    最后总结

    其实,const也不是很难,只要你细心,就会发现非常的简单。

  • 相关阅读:
    设计模式研究
    requests模块请求常用参数的写法整理
    python程序打包exe文件
    爬虫响应信息乱码解决方式
    Vue-cli父子组件之间传参
    MYSQL事件隔离级别以及复读,幻读,脏读的理解
    [NOIP2009] 提高组 洛谷P1073 最优贸易
    [NOIP2009] 提高组 洛谷P1071 潜伏者
    [NOIP2009] 普及组
    洛谷P3386 【模板】二分图匹配
  • 原文地址:https://www.cnblogs.com/guanqiweb/p/10282820.html
Copyright © 2020-2023  润新知