zoukankan      html  css  js  c++  java
  • ES6学习之const声明常量的学习

    在ES中const关键字用来声明常量,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
  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/heheblog/p/JavaScript_study_const.html
Copyright © 2011-2022 走看看