【问题标题】:Builtin to check if javascript setter defined in prototype chain?内置检查原型链中是否定义了javascript setter?
【发布时间】:2021-11-29 12:42:35
【问题描述】:

question 解释了如何判断一个对象是否在该对象上定义了一个 setter,但它可能在原型链的其他地方仍然有一个。是否有一个内置函数可以检查原型链上某处是否定义了 setter,或者是否只需递归并测试原型链上的每个元素?

【问题讨论】:

  • typeof foo.bar !== 'undefined'…?
  • 这并不能告诉我是否已经定义了 setter。我可能有一个吸气剂,但没有二传手。或者 getter 返回的值可能是未定义的。
  • 你需要这个做什么?
  • foo.__lookupGetter_('bar') // function bar(),但它是deprecated

标签: javascript ecmascript-6


【解决方案1】:

不,没有这样的内置函数。您必须遍历原型链并在每个对象上调用 Object.getOwnPropertyDescriptor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    相关资源
    最近更新 更多