Object中defineProperty数据描述

Object.defineProperty是对对象中的属性进行数据描述的

使用语法:

Object.defineProperty(obj,prop,descriptor)

使用示例:

 var data = {
            title:'标题',
            content:'内容'
        }

        Object.defineProperty(data,'title',{
            configurable:false, //是否可以删除目标属性,默认为false
            enumerable:false,   //是否可枚举,默认是false
            value:'新标题',     //当前属性对应的值,默认是undefined
            writable:false,     //是否允许被重写,默认为false
        })

当设置了configurable后再使用delete就不会生效了

delete data.title

当设置了enumerable后使用for in 遍历对象时就不能得到进行设置的对象了

for( item in data ){
            console.log(item)
        }

打印data.title

 data.title = "改写的标题"
 console.log(data.title)

 设置了 writable:false就不能修改属性的值了

原文地址:https://www.cnblogs.com/wyongz/p/11424488.html