etOwnPropertyDescriptor(obj, "foo").get;
    // [Function: get foo]
    

js

    
    
    const obj2 = {
      __proto__: {
        get foo() {
          return Math.random() > 0.5 ? "foo" : "bar";
        },
      },
    };
    
    function findGetter(obj, prop) {
      while (obj) {
        const desc = Object.getOwnPropertyDescriptor(obj, prop);
        if (desc) {
          return desc.get;
        }
        obj = Object.getPrototypeOf(obj);
      }
    }
    
    console.log(findGetter(obj2, "foo")); // [Function: get foo]
    

##  Specifications

Specification  
---  
[ ECMAScript Language Specification  
#  sec-object.prototype.__lookupGetter__
](https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-
browsers.html#sec-object.prototype.__lookupGetter__)  
  
##  Browser compatibility

BCD tables only load in the browser  with JavaScript enabled. Enable
JavaScript to view data.

##  See also

  * [ Polyfill of ` Object.prototype.__lookupGetter__ ` in ` core-js ` ](https://github.com/zloirock/core-js#ecmascript-object)
  * [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__)
  * [ ` get ` ](/en-US/docs/Web/JavaScript/Reference/Functions/get)
  * [ ` Object.getOwnPropertyDescriptor() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor)
  * [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__)
  * [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__)
  * [ JS Guide: Defining Getters and Setters ](/en-US/docs/Web/JavaScript/Guide/Working_with_objects#defining_getters_and_setters)

##  Help improve MDN

Was this page helpful to you?

Yes  No

[ Learn how to contribute
](https://github.com/mdn/content/blob/main/CONTRIBUTING.md "This will take you
to our contribution guidelines on GitHub.") .

This page was last modified on  Nov 21, 2023  by  [ MDN contributors ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__/contributors.txt)
.

[ View this page on GitHub
](https://github.com/mdn/content/blob/main/files/en-
us/web/javascript/reference/global_objects/object/__lookupgetter__/index.md?plain=1
"Folder: en-us/web/javascript/reference/global_objects/object/__lookupgetter__
\(Opens in a new tab\)") â¢  [ Report a problem with this content
](https://github.com/mdn/content/issues/new?template=page-report.yml&mdn-
url=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-
US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FObject%2F__lookupGetter__&metadata=%3C%21--+Do+not+make+changes+below+this+line+--%3E%0A%3Cdetails%3E%0A%3Csummary%3EPage+report+details%3C%2Fsummary%3E%0A%0A*+Folder%3A+%60en-
us%2Fweb%2Fjavascript%2Freference%2Fglobal_objects%2Fobject%2F__lookupgetter__%60%0A*+MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-
US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FObject%2F__lookupGetter__%0A*+GitHub+URL%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fblob%2Fmain%2Ffiles%2Fen-
us%2Fweb%2Fjavascript%2Freference%2Fglobal_objects%2Fobject%2F__lookupgetter__%2Findex.md%0A*+Last+commit%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fcommit%2Ffd326b574aadcd78924a5a223f15e289e45a7f1d%0A*+Document+last+modified%3A+2023-11-21T09%3A11%3A45.000Z%0A%0A%3C%2Fdetails%3E
"This will take you to GitHub to file a new issue.")

[ MDN logo  ](/)

Your blueprint for a better internet.

  * [ MDN on Mastodon  ](https://mozilla.social/@mdn)
  * [ MDN on X (formerly Twitter)  ](https://twitter.com/mozdevnet)
  * [ MDN on GitHub  ](https://github.com/mdn/)
  * [ MDN Blog RSS Feed  ](/en-US/blog/rss.xml)

##  MDN

  * [ About ](/en-US/about)
  * [ Blog ](/en-US/blog/)
  * [ Careers ](https://www.mozilla.org/en-US/careers/listings/?team=ProdOps)
  * [ Advertise with us ](/en-US/advertising)

##  Support

  * [ Product help ](https://support.mozilla.org/produc