JavaScript 代理处理器用于定义对象基本操作的自定义行为。通过定义处理器,可以覆盖默认的行为。以下是常见的代理处理器方法:apply()、construct()、get()、has()等。
JavaScript 处理器方法
| Sr.No. |
名称 & 描述 |
| 1 |
apply() |
| |
允许你以特定的参数和上下文调用一个函数。 |
| 2 |
construct() |
| |
允许你定义对象上的基本操作的自定义行为。 |
| 3 |
defineProperty() |
| |
用于在对象上定义新属性或修改现有属性。 |
| 4 |
deleteProperty() |
| |
作为 delete 操作符的陷阱。 |
| 5 |
get() |
| |
获取属性值的陷阱。 |
| 6 |
getOwnPropertyDescriptor() |
| |
对象内部方法 [[GetOwnProperty]] 的陷阱。 |
| 7 |
getPrototypeOf() |
| |
对象内部方法的陷阱。 |
| 8 |
has() |
| |
用来“隐藏”任何想要隐藏的属性。 |
| 9 |
isExtensible() |
| |
用来确定是否可以向目标对象添加新属性。 |
| 10 |
ownKeys() |
| |
对象内部方法 [[OwnPropertyKeys]] 的陷阱。 |
| 11 |
set() |
| |
对象内部方法 [[Set]] 的陷阱。 |
| 12 |
setPrototypeOf() |
| |
允许你将指定对象的原型设置为另一个对象。 |
请注意,has() 方法通常用于检测对象中是否存在某个属性,并非用于“隐藏”属性。如果需要隐藏某个属性,通常会使用 get() 方法来返回一个特定的值,而不是真正的属性值,或者使用 defineProperty() 来设置属性的枚举性或可配置性。