这三个属性可以理解为一个对象属性的属性,在使用object.definePorperty时会用到
1.configurable
默认值为true 当设置为false 则理解为该属性不可删除不可修改
2.writable
默认值为true 当设置为false 则理解我改属性只读
3.enumerable
默认值为true 当设置为false 则理解为无法枚举 遍历属性时无法将该属性取出
configurable为false时,value、writable、enumerable和configurable都不能被修改了。
注意,writable只有在false改为true会报错,true改为false是允许的。
至于value,只要writable和configurable有一个为true,就允许改动。
另外,configurable为false时,直接目标属性赋值,不报错,但不会成功。