es6 const总结

本文探讨了2019年独角兽企业对于Python工程师的招聘要求,重点介绍了const关键字在JavaScript中的用法,包括其声明、作用域、不可变性以及如何彻底冻结对象。同时,文章提供了Object.freeze()的使用示例。

用法

  • 声明一个只读的常量
  • 暂时性死区特性,要先声明后使用
  • 只在声明的作用域块内有效
  • 统一作用域块内不可以重复声明同一常量

本质:

  • const本质上只是保证该常量名指向的内存地址是不变的,类似c语言中指针的概念 所以如果使用const声明一个对象,只要不改变该常量名指向对象在栈内存的地址就不会报错,对象的属性是可以操作的,数据结构是可变的
  • 如果要完全冻结对象,可以使用Object.freeze();见下列代码:
function freeze(obj) {
    if(!isObject(obj)) return;
    Object.freeze(obj);
    for(let i in obj) {
    freeze(i);
    }
}
function isObject(obj) {
return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase()==='object';
}

转载于:https://my.oschina.net/u/3407699/blog/2208512

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值