码迷,mamicode.com
首页 > 其他好文 > 详细

Object.defineProperty()(响应式) 详解

时间:2021-01-11 11:13:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:prope   参数   顺序   object   定义   方法   undefined   删除   size   

Object.defineProperty() 方法会直接在一个对象上 定义/修改 一个 新属性/现有属性(不在原型链,属于自身属性),并返回此对象

3个参数:Object.defineProperty(

目标对象

,

变动属性

,

配置对象

)

这些属性可以通过 delete 删除

------------以下是对参数3 配置对象的属性详解---------------

--------------数据描述符-------------

数据描述符(其与存储描述符是互斥的,不能同时存在)

  • value :该属性对应的值。可以是任何有效的 JavaScript 值(数值,对象,函数等)

    默认为 undefined

  • writable 类型:boolean,value是否可更改。 默认为 false

    默认为 false

--------------存储描述符-------------

存储描述符(get 、set)

  • get 当访问该属性时,会调用此函数,执行时不传入任何参数,但是会传入 this 对象,但如果当前对象没有该属性, this会沿着原型链指向相应的父级对象的属性

    默认为 undefined, 但是可以访问原型链 Object(或者继承的其它父级) 的 get 属性,返回值时

  • set 将值赋予属性,并传入绑定到赋值时的 this 对象

    默认为 undefined , 同上

--------------其它通用描述符-------------

通用描述符(configurable 、enumerable)

  • configurable 为 true 时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除

    默认为 false

    configurable :false,按以下顺序进行判断

    1. writable:true
  • set 将值赋予属性,并传入绑定到赋值时的 this 对象

    默认为 undefined , 同上

Object.defineProperty()(响应式) 详解

标签:prope   参数   顺序   object   定义   方法   undefined   删除   size   

原文地址:https://www.cnblogs.com/lhx9527/p/14252583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!