Object.defineProperty方法。
这个方法也是Vue数据双向绑定原理的常见面试题
所以也是有必要好好掌握的哦
首先我们知道JS中是支持面向对象编程的,也是有着对象和类这样的概念。
我们常见创建对象的方法应该是这样:
var p1 ={
name:"lisi",
}
那我们Object.defineProperty这个方法有什么用呢?
这个方法接收三个参数:
1.属性所在的对象
2.属性的名字
3.一个描述符对象
这个描述符对象是个什么东西呢?
他可以是 数据属性:
1.configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认值为true。
2.enumerable:表示能否通过for in循环访问属性,默认值为true
3.writable:表示能否修改属性的值。默认值为true。
4.value:包含这个属性的数据值。默认值为undefined。
Object.defineProperty(p1,"name",{
configurable : false,
})
console.log(p1); //{ name: 'lisi' }
delete p1.name;
console.log(p1); //{ name: 'lisi' }
本文探讨了JavaScript中用于对象属性操作的关键方法——Object.defineProperty,它接受三个参数,包括对象、属性名和描述符对象。描述符对象可以定义属性的configurable、enumerable、writable和value等特性。例如,通过设置configurable为false,可以阻止属性被删除或特性修改。了解和掌握这个方法对于理解Vue数据双向绑定的实现至关重要。
570

被折叠的 条评论
为什么被折叠?



