对象数据属性的特性中 writable, configurable,enumerable 默认值到底是啥!!
总结
对象数据属性的特性中 writable, configurable,enumerable 默认值是需要分情况讨论的!!!
1)在使用Object.defineProperty()、Object.defineProperties() 或 Object.create()
函数的情况下添加数据属性,writable、enumerable和configurable
默认值为false。
2)使用对象直接量创建的属性,writable、enumerable和configurable
特性默认为true。
正文内容
var obj = {
//注意!!这里没有定义属性
}
Object.defineProperty(object1, 'property1', {
value: 42,
writable: false
});
Object.defineProperties(object1, {
'property1': {
value: true,
writable: true
},
'property2': {
value: 'Hello',
writable: false
}
// etc. etc.
});
在上述代码中对象属性的writable、enumerable和configurable默认值为false
var obj = {
//注意!!这里定义了属性
name:’me’
}
Object.defineProperty(obj, ‘name’, {
value: 'Change me'
});
在上述代码中name的writable、enumerable和configurable默认值为true
觉得不错的话,请点个赞吧❥(^_-)
个人签名:不想随波逐流,只想傲视群雄