属性描述符:
- [[Value]] : 包含这个属性的数据值。读取属性时从这个位置读取;写入属性时,把新值保存在这个位置。这个特性的值默认为 undefined 。
- [[Writable]] : 表示能否修改属性的值,即值是可写的还是只读。
- [[Enumaerable]] : 目标属性是否可被枚举(遍历)。
- [[Configurable]] : 表示能否通过 delete 删除属性、能否修改属性的特性,或者将属性修改为访问器属性。
enumerable(隐身术):用来控制所描述的属性,是否将被包括在for…in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。
- for…in循环
- Object.keys方法
- JSON.stringify方法