ES6学习之const声明常量的学习

Posted heheblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6学习之const声明常量的学习相关的知识,希望对你有一定的参考价值。

在ES中const关键字用来声明常量,与C#中的类似

const声明的一经定义不能修改 和let特性差不多,
技术分享图片
const a = 13;
console.log(a);
a = 5;        //报错
View Code

const定义完常量后必须赋值,后面不允许再次赋值  

技术分享图片
const aa;
const b; //报错  const定义完后,必须赋值,后面不允许赋值
b=5;        
alert(b);
View Code
技术分享图片
const c = 12;
(function () {
      console.log(c); //死区   访问不到
      const c = 5;    //不再同一个作用域

   }())
View Code

const声明的引用类型(对象)可以追加,但是不可以重新赋值

技术分享图片
    const arr = [1, 2];
    // arr=[];      //报错
    arr.push(3);    //不报错
    console.log(arr);

    const obj = { name: 123, age: 18 };
    // obj={};         //报错
    obj.name = "小样儿";//不报错
    obj.sex = "女"; //不报错
    console.log(obj);    
View Code
如果想定义了不允许修改可以把它冻结 ---》 Object.freeze(需要冻结的参数)
技术分享图片
    const myarr = [1, 2, 3, 4, 5, 6, 7];
    Object.freeze(myarr);       //冻结起来,冻结之后不能追加也不能修改
    myarr.push(8);      //报错了
View Code

如果是({})对象那么用 obj.xxx=“aaa”;方式不报错,但是不起作用

技术分享图片
    const myobj = Object.freeze({
        name: "xiaoyang",
        age: 18,
    });
    myobj.age = 19;     //不报错,但是不起作用
    myobj.sex = ‘女‘;   //不报错,但是不起作用
    console.log(myobj); //输出{name: "xiaoyang", age: 18}
View Code

 

以上是关于ES6学习之const声明常量的学习的主要内容,如果未能解决你的问题,请参考以下文章

ES6学习之let和const

ES6学习笔记

es6基础学习二 const

ES6学习之let声明变量的学习

关于ECMAScript6 的学习01-ES6 的六种变量声明方式===关于常量const

ES6 const声明常量(简单易懂)