Object.defineproperty的原理分析,非常重要,理解这个就会对Vue中实例中的属性有深入的了解
理解Object.defineproperty的原理分析
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// Object.defineProperty方法的作用是给对象添加属性,或者修改已有属性的特性。
// 语法:Object.defineProperty(obj, prop, options)
// 参数:
// obj:要添加属性的对象。
// prop:添加或修改属性的名称。
// options:配值项
//定义一个变量,并给赋值
let _phone='18888888888'
let peron={
name:'Tom',
age:20,
gender:'male'
}
//object.defineProperty原理分析 第一种方法
// Object.defineProperty(peron, 'phone' , {
// value: '13800138000',
// writable: true,
// enumerable: true,
// configurable: true
// });
//第二种方法
Object.defineProperty(peron, 'phone', {
get() {
return this._phone;
},
set(value) {
this._phone = value;
}
});
console.log(peron);
</script>
</body>
</html>