用什么方法可以实现const

这几天面试,给面试官回答完let,const这个用法之后。被面试官问到如何实现const,还是有点懵逼的,但当时面试官也帮我回答到了,说是对象的一个属性就可以实现了,所以我回来就查了下高级程序设计这本书。以下是我今天看到的,希望对大家有补充,后续会补充。

// An highlighted block
var person = {
name: "Nicholas",
age: 29,
job: "Software Engineer",
sayName: function(){
alert(this.name);
}
};

这个例子中的person 对象与前面例子中的person 对象是一样的,都有相同的属性和方法。这些
属性在创建时都带有一些特征值(characteristic),JavaScript 通过这些特征值来定义它们的行为。
ECMAScript 中有两种属性:数据属性和访问器属性。

1. 数据属性

[[Configurable]]:表示能否通过delete 删除属性从而重新定义属性,能否修改属性的特
性,或者能否把属性修改为访问器属性。像前面例子中那样直接在对象上定义的属性,它们的
这个特性默认值为true。

[[Enumerable]]:表示能否通过for-in 循环返回属性。像前面例子中那样直接在对象上定
义的属性,它们的这个特性默认值为true。

[[Writable]]:表示能否修改属性的值。像前面例子中那样直接在对象上定义的属性,它们的
这个特性默认值为true。

[[Value]]:包含这个属性的数据值。读取属性值的时候,从这个位置读;写入属性值的时候,
把新值保存在这个位置。这个特性的默认值为undefined。

对于像前面例子中那样直接在对象上定义的属性,它们的[[Configurable]]、[[Enumerable]]
和[[Writable]]特性都被设置为true,而[[Value]]特性被设置为指定的值。

感觉会用到以上的属性,后续会补充完整。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值