handler.getPrototypeOf()
JavaScript handler.getPrototypeOf()方法
handler.getPrototypeOf()方法是内部方法的陷阱。如果目标不可扩展,则此方法返回与Object.getPrototypeOf(target)相同的值。
语法
参数
target:目标对象。
返回值
此方法返回一个对象或null。
浏览器支持
Chrome |
否 |
Edge |
否 |
Firefox |
49 |
Opera |
否 |
示例1
const obj = {};
const proto = {};
const hag = {
getPrototypeOf(target) {
document.writeln (target === obj);
document.writeln (this === hag);
return proto;
}
};
const p = new Proxy(obj, hag);
document.writeln(Object.getPrototypeOf(p) === proto);
输出:
示例2
var obj = {};
var p = new Proxy(obj, {
getPrototypeOf(target) {
return Array.prototype;
}
});
document.write(
p instanceof Array
);
输出:
示例3
const Prototype = {
eyeCount : 32
};
const handler = {
getPrototypeOf(target) {
return Prototype;
}
};
const obj = new Proxy(Prototype, handler);
document.writeln(Object.getPrototypeOf(obj) == Prototype);
输出: