Object.defineProperty()方法:
Object.defineProperty()方法---为对象添加属性---Vue的源码中经常用到
// 1 Object.defineProperty()方法---为对象添加属性---Vue的源码中经常用到
const person = {
firstName: '呼呼',
lastName: '憨憨'
}
// // 为某个对象添加一个属性,并对该属性进行一些配置操作
Object.defineProperty(person, 'fullName', {
configurable: false, //默认是不能被删除false(属性相关的操作)
enumerable: true, //默认是false,能否被枚举遍历
//value:'自己填写默认值' //默认值
//writable.false, //默认是false,能否被修改--重写
// 获取(读取),外部在获取fullName这个属性的时候,会进入到这个get方法
get() {
return this.firstName + '_' + this.lastName
},
// 设置(写入),外部在为fullName这个属性赋值的时候,会进入到这个set方法
set(val) {
const names = val.split('_') //根据_下划线拆分数组
this.firstName = names[0] //拆分为--呼呼
this.lastName = names[1] //拆分为-- 憨憨
}
})
当前对象中添加了一个属性
person.fullName = person.firstName + '_' + person.lastName
console.log(person.fullName) //打印出-->呼呼_憨憨
person.fullName = '上官_婉儿'
co