• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
社会优先于个人
博客园    首页    新随笔    联系   管理    订阅  订阅
js的数据属性和访问器属性

参考文章

https://www.jb51.net/article/91698.htm

js有两种属性类型

  • 数据属性:一般用于存储数据数值
  • 访问器属性:一般进行get和set操作,不能直接存储数据数值

属性的特性

  • es5中,我们为了描述属性(property)的各种特征,定义了特性(attribute)。
  • js不能直接访问特性,要放在[[]]中
  • 要修改特性,使用es5的defineProperty方法,有三个参数,对象,属性,描述符对象(可以是一个或者多个特性)

数据类型的四个特性

  • [[configurable]]:默认是true,能否通过delete删除属性从而重新定义属性,能否修改其他特性,能否修改为访问器属性
  • [[emurable]]: 默认是true,是否能枚举
  • [[writable]]: 默认是true,是否可以修改属性的值
  • [[value]]: 默认是undefined,是属性的数据值,读写属性值就是在这进行的

访问器属性

  • 不包括数据值
  • 包含set和get函数
  • 读取访问器属性,get函数返回有效值
  • 写入访问器属性,set函数处理数据
  • 不能直接定义,必须使用defineProperty定义

访问器属性的4个特性

  • [[configurable]]:默认是true,能否通过delete删除属性从而重新定义属性,能否修改其他特性,能否修改为访问器属性
  • [[emurable]]: 默认是true,是否能枚举
  • [[get]]: 读取属性时调用,默认是undefined
  • [[set]]: 写入属性时调用,默认是undefined

定义多个属性的方法

  • defineProperties()

读取属性的特性的方法

  • getOwnPropertyDescripter(),返回描述符对象
posted on 2022-04-09 22:57  社会优先于个人  阅读(149)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3