📜  JavaScript | handler.getPrototypeOf() 方法

📅  最后修改于: 2022-05-13 01:56:38.176000             🧑  作者: Mango

JavaScript | handler.getPrototypeOf() 方法

JavaScript 中的handler.getPrototypeOf()方法是内部方法的陷阱。此方法返回与Object.getPrototypeOf(target)相同的值。
句法:

const p = new Proxy(obj, {
  getPrototypeOf(target) {
  ...
  }
}); 

参数:

  • 目标:目标对象。

返回值:此方法始终返回一个对象,如果没有返回对象,则返回 null。
下面的示例说明了 JavaScript 中的 handler.getPrototypeOf() 方法:
示例 1:

javascript


javascript


javascript


javascript


输出:

true
52
true

示例2:触发此陷阱方法的五种方法

javascript


输出:

true
true
true
true
true

例外类型:

  1. 类型错误:“目标”不是对象或 null
    示例 1:

javascript


  1. 输出:
Error: 'getPrototypeOf' on proxy: trap returned
neither object nor null
  1. TypeError:预期相同的原型值
    示例 2: TypeError:预期相同的原型值

javascript


  1. 输出:
Error: 'getPrototypeOf' on proxy: proxy target is non-extensible
but the trap did not return its actual prototype

支持的浏览器: handler.getPrototypeOf() 方法支持的浏览器如下:

  • 谷歌浏览器 49 及更高版本
  • Edge 79 及以上
  • 火狐 49 及以上
  • Opera 36 及以上
  • Safari 10 及更高版本