首页 > 其他 > 详细

对象的属性定义

时间:2020-12-28 14:28:32      阅读:22      评论:0      收藏:0      [点我收藏+]

Object.defineProperty(obj, prop, desc)

  1. obj 需要定义属性的当前对象
  2. prop 当前需要定义的属性名
  3. desc 属性描述符

 

desc

value: 属性值, 默认undefined

set: setter方法, 默认undefined

get:getter方法, 默认undefined

configurable: 属性是否可配置和删除,默认false

  •  false 时,不能删除当前属性,且不能重新配置当前属性的描述符, 但是在writable: true的情况下,可以改变value的值
  • true时,可以删除当前属性(delete xx.propName),可以配置当前属性所有描述符

writable:是否可修改,默认false

  • true时,可修改value的值,
  • false时,不可修改value的值
  • 注意:可以把writable的状态由true改为false,但是无法由false改为true;
  • 注意:若同时设置了set和get,writable自动转为true

enumerable:是否可枚举

  • true时,可枚举,
  • false时,不可枚举
let obj = {}
let temp = null
Object.defineProperty(obj, ‘name‘, {
  get: function () {
    return temp
  },
  set: function (val) {
    temp = val
  },
 writable: true,
  configurable: true,
  enumerable: true
})

  

对象的属性定义

原文:https://www.cnblogs.com/baixinL/p/14200958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!