js对象的属性配置

Object.getOwnPropertyDescriptor(),返回对象对应属性的 属性配置;

let obj = {
   name: '小明'
  }
  let mes = Object.getOwnPropertyDescriptor(obj, 'name')
  console.log(mes)
  /* configurable: true
  enumerable: true
  value: "小明"
  writable: true
  __proto__: Object */

configurable:是否可以修改属性配置 和删除属性;
enumerable:是否可以遍历,如果为false不能被遍历到,使用Object.keys()也不能获取到包含改属性的可遍历对象
writable:是否可写,是否可已更改属性的值
value:属性的值。

MDN
Object.preventExtensions()方法让一个对象变的不可扩展,也就是永远不能再添加新的属性。仅阻止添加自身的属性。但其对象类型的原型依然可以添加新的属性。不可扩展对象的原型是不可变的

*Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置(属性不能删除)。当前属性的值只要原来是可写的就可以改变。*不会影响从原型链上继承的属性。但 proto ( ) 属性的值也会不能修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值