美文网首页
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