var,let,const区别?const锁定了什么,如何锁定对象(网上整理)

一:var,let,const区别?
var 默认是会变量提升的,变量可以修改;
let 定义变量,变量可以修;
const 定义必须有常量值,const的值写上不可更改;
let 与const相同之处:
1> 都是块级作用域,适用于 {},在括号外面打印里面的值会报错;
2> 变量不可提升。
3>暂时性死区(只要块级作用域内,存在let,const,它所声明的变量就绑定(binding)在这个区域,不再受外部影响。)
如何选择var/let/const
从ES6引入let的语法,设计的初衷便是替代var。从工程化的角度来说,我们应从ES6后遵从以下三原则:

  1. List item一般情况下,使用const在定义常量。
  2. 只有明确值会被改变时,我们才使用let定义变量。
  3. 不再使用var。

二:const锁定了什么,如何锁定对象

  1. const锁定了什么
    首先,我们用const声明一个 “常量”,实际是创建了一个不可修改的指针,指向内存中一块区域。我们交给const“常量”的内容就在这块区域中,所以就是锁定了地址
  2. 如何锁定对象
    Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值