最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Object.defineProperty 总结

    正文概述 掘金(jerry_kong)   2020-11-25   417

    为什么存在 Object.defineProperty 方法

    比如我们需要描述一个人对象

    const person = { name: "zhangsan", age: 18 };
    
    

    是有一组属性名和值组成的集合,我们可以通过属性名访问值或修改值,这些是一般认识;

    实际属性还有其他一些特性,比如

    1. 属性只读,不可以修改
    2. 属性不想被枚举出来;
    3. 属性不想被delete;

    因此我们需要对属性值的行为进行描述,那么自然就产生了Object.defineProperty;

    语法

    Object.defineProperty(obj, prop, descriptor)
    
    

    参数

    1. obj

    要定义属性的对象。

    1. prop

    要定义或修改的属性的名称或 Symbol 。

    1. descriptor

    要定义或修改的属性描述符。

    返回值

    被传递给函数的对象。

    descriptor 参数

    我们重点说明 参数 descriptor,它是 一个对象;

    {
    configurable: false,
    enumerable: false,
    value: undefined,
    writable: false,
    get() { 
    		return ...
    	},
    set(x){
    	... = x;
    	}
    }
    
    const person = { name: "zhangsan", age: 18 };
    
    

    对象举例;

    configurable

    当且仅当该属性的 configurable 键值为 true 时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除。 默认为 false

    enumerable

    当且仅当该属性的 enumerable 键值为 true 时,该属性才会出现在对象的枚举属性中。 默认为 false。

    writable

    当且仅当该属性的 writable 键值为 true 时,属性的值,也就是上面的 value,才能被赋值运算符改变。 默认为 false。


    起源地下载网 » Object.defineProperty 总结

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元