上回介绍了面向对象之构造器属性.这次介绍下属性描述符 遍历对象属性 let person = {name: "lisi"} for (key in person) { console.log(key) } Object.keys(person) 属性描述 let person = {name: "lisi"} for (key in person) { console.log(key) } Object.keys(person) let objectBase = O…
属性描述符(Property Descriptor)是 ES5 之后出现的概念,顾名思义,它用于描述属性应该是什么样,例如是否只读,能否枚举,能否可配置等.所有对象属性均可使用属性描述符来定义. 属性描述符的六个属性 value 属性值. writable 是否允许赋值,true 表示允许,否则该属性不允许赋值. get 返回属性值的函数.如果为 undefined 则直接返回描述符中定义的 value 值. set 属性的赋值函数.如果为 undefined 则直接将赋值运算符右侧的值保存为属…
属性描述符可以用来控制给属性赋值的时候的一些行为 import numbers class IntField: def __get__(self, instance, owner): return self.value def __set__(self, instance, value): if not isinstance(value, numbers.Integral): raise ValueError('int value need') if value < 0: raise Value…