• ES6_入门(2)_const命令


    1.

    1 //只读常量,一旦声明,常量的值就不能改变。
    2         const PI=3.1415;
    3         console.log(PI);
    4         PI=6;//报错:es6.html:186 Uncaught TypeError: Assignment to constant variable.在恒定的变量分配
    5 
    6         const foo;//报错:es6.html:190 Uncaught SyntaxError: Missing initializer in const declaration常量声明中缺少初始化器。const一旦声明变量,就必须立即初始化,不能留到以后赋值。

    2.

    1     //const的作用域与let命令相同:只在声明所在的块级作用域内有效。
    2         //与let一样,也存在暂时性死区,只能在声明语句后使用。
    3         //与let一样,不可重复声明。
    4         if(true){
    5             const MAX=99
    6             console.log(MAX);//99
    7         }
    8         console.log(MAX);//es6.html:196 Uncaught ReferenceError: MAX is not defined

    3.

     1 //const声明常量的本质:const实际上保证的是变量指向的那个内存地址不得改动。对于简单类型的数据(数值 ,字符串,布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
     2         //对于复合型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,但是不能保证它指向的数据结构是固定的。
     3         const foo={};
     4 
     5         //为foo添加属性,可以成功。
     6         foo.prop=123;
     7         console.log(foo.prop);//123
     8 
     9         foo={};//报错:es6.html:209 Uncaught TypeError: Assignment to constant variable.
    10 
    11         
    12 
    13         const a=[];
    14         a.push('hello');//["hello"]
    15         console.log(a);
    16         a.length=0;
    17         console.log(a.length);//0
    18         console.log(a);//[]
    19         a=["Dave"];//Uncaught TypeError: Assignment to constant variable.
    20 
    21         //使用Object.freeze将对象冻结,
    22         const foo=Object.freeze({});
    23                 // 常规模式时,下面一行不起作用;
    24                 // 严格模式时,该行会报错
    25         foo.prop=123;//报错:Uncaught TypeError: Cannot add property prop, object is not extensible

     

  • 相关阅读:
    C#创建Windows Service(Windows 服务)基础教程
    c#写windows服务
    怎么样快速学习AngularJS?
    Web API 安全问题
    ASP.NET Web API身份验证和授权
    通过HttpClient来调用Web Api接口~续~实体参数的传递
    在WebApi中实现Cors访问
    SQL Server 动态生成数据库所有表Insert语句
    EasyUI combobox
    Linq使用Group By 1
  • 原文地址:https://www.cnblogs.com/LinSL/p/7159367.html
Copyright © 2020-2023  润新知