Object.defineProperty

1、定义属性的两种形式

let obj = {

  name: '码农权'

}

相当于

      Object.defineProperty(obj, 'name' , {
        value: '码农权',
        writable: true, //是否可以修改
        configurable: true, //是否可配置,是否可删除
        enumerable: true // 是否可枚举
      })

2、通过Object.defineProperty()来定义属性,配置对象默认都是false

      Object.defineProperty(obj, 'name' , {
        value: '码农权',
        writable: false, //是否可以修改
        configurable: false, //是否可配置,是否可删除
        enumerable: false // 是否可枚举
      })
原文地址:https://www.cnblogs.com/bingquan1/p/15765126.html