美文网首页
Object.defineProperty()

Object.defineProperty()

作者: 风过留香_3356 | 来源:发表于2019-01-02 10:40 被阅读0次

    语法:

    Object.defineProperty(obj,'name',{
    value:"hello", //该对象的‘name’所对应的value值
        writable:false,//是否可被重新写入
        enumerable:false,//是否可以被枚举
        configurable:false//是否可以被删除
    })
    //obj 是指给那个对象设置Object.defineProperty();
    //'name' 是指obj的一个属性设置
    
    //还可设置getter和setter存取器
    Object.defineProperty(obj,"newKey",{
        get:function (){} | undefined,
        set:function (value){} | undefined
        configurable: true | false
        enumerable: true | false
    });
    

    要点

    • 当有get 和 set时,就只能设置configurable 和 enumerable
    • 当给一个对象设置Object.defineProperty()时下面几个默认为false
    configurable:true | false,
        enumerable:true | false,
        writable:true | false
    

    给对象设置Object.defineProperty(),这个对象就不能被字符串模板解析,渲染到视图会是undefined
    在ie8下只能在DOM对象上使用,尝试在原生的对象使用 Object.defineProperty()会报错。

    相关文章

      网友评论

          本文标题:Object.defineProperty()

          本文链接:https://www.haomeiwen.com/subject/upwalqtx.html