2011-04-11 11 views
6

मैं जानता हूँ कि Object.defineProperty मज़ा और __defineGetter__ और __defineSetter__ गैरमानक एपीआई के लिए एक महान प्रतिस्थापन के बहुत सारे है, लेकिन वहां __lookupGetter__ के लिए एक समान समकक्ष है? या एक समान चीज़ प्राप्त करने का कोई तरीका?क्या ईएस 5 के पास __lookupGetter__ के समकक्ष है?

+0

क्यों आप एक गेटर समारोह देखने की जरूरत है देना होगा? – Raynos

उत्तर

8

मैं __lookupGetter__ अर्थ विज्ञान के बारे में सुनिश्चित नहीं कर रहा हूँ लेकिन ES5 एक नए API Object.getOwnPropertyDescriptor है कि आप एक संपत्ति और या तो अपने value या उसके get और/या set कार्यों की विशेषताओं वाली एक विवरणक वस्तु देता है प्रदान करता है।

उदाहरण के लिए।

Object.getOwnPropertyDescriptor("foo", {get foo() { return 5} }).get 

आप गेटर समारोह

+0

ध्यान देने योग्य मूल्य 'ऑब्जेक्ट .getPropertyDescriptor' नहीं है, इसलिए यदि आपको प्रोटोटाइप श्रृंखला से कुछ चाहिए तो आपको इसे अपने आप पर चढ़ना होगा। – Domenic

+0

@Domenic यह भी कुछ भी लायक नहीं है 'Object.getPropertyDescriptor' ES6 – Raynos

+0

[es6-shim] (https://github.com/paulmillr/es6-shim) में जोड़ा जा रहा है' Object.getPropertyDescriptor' प्रदान करता है। – webwurst