4、const命令

本文详细解析了JavaScript中const关键字的特点及使用限制,包括其不可变性、块作用域、变量提升缺失以及重复声明的问题,并探讨了如何通过冻结对象来实现真正的不可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. const声明的是常量,一旦声明,值是不可变的;
    const PI = 3.1415;
    PI // 3.1415
     
    PI = 3;
    PI // 3.1415
     
    const PI = 3.1;
    PI // 3.1415

     

  2. const也具有块作用域;
    if (true) {
      const max = 5;
    }
    document.write(max);  // ReferenceError 常量MAX在此处不可得 

     

  3. const不能变量提升(必须先声明后使用);
    1. if (true) {
    2. document.write(MAX); // ReferenceError
    3. const MAX = 5;
    4. }

     

  4. const不可重复声明;
    var message = "Hello!";
    let age = 25;
     
    // 以下两行都会报错
    const message = "Goodbye!";
    const age = 30;

     

  5. const指令指向变量所在,对该变量进行属性设置是可行的(不改变指向),如果想完全不可变化,可使用冻结;
    const C1 = {};
    C1.a = 1;
    document.write(C1.a); // 1 
    C1 = {};  // 报错  重新赋值,地址改变
     
    //冻结对象,此时前面用不用const都是一个效果
    const C2 = Object.freeze({}); 
    C2.a = 1; //Error,对象不可扩展
    document.write(C2.a);

     

转载于:https://www.cnblogs.com/guzhouyuanying/p/6388884.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值