जावास्क्रिप्ट Object.defineProperty()
- पिछला पृष्ठ defineProperties()
- अगला पृष्ठ entries()
- एक स्तर ऊपर JavaScript वस्तु संदर्भ पुस्तिका
परिभाषा और उपयोग
Object.defineProperty()
विधि ऑब्जेक्ट की विशेषताओं को जोड़ने या संशोधित करने के लिए प्रयोग की जाती है。
Object.defineProperty()
विधि विशेषता के मेटाडाटा को बदलने की अनुमति देती है。
Object.defineProperty()
विधि गेटर और सेटर जोड़ने की अनुमति देती है。
संबंधित विधियाँ:
Object.defineProperty()
विशेषताओं को जोड़े या संशोधित करें。
Object.defineProperties()
अनेक विशेषताओं को जोड़े या संशोधित करें。
Object.getOwnPropertyNames()
ऑब्जेक्ट की सभी विशेषताओं का नाम वापस करता है。
Object.getOwnPropertyDescriptor()
विशेषता का वर्णन वापस करता है。
Object.getOwnPropertyDescriptors()
ऑब्जेक्ट की सभी विशेषताओं का वर्णन वापस करता है。
उदाहरण
उदाहरण 1
विशेषता जोड़ना:
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" language: "EN" }; // एक नई विशेषता जोड़ें Object.defineProperty(person, "year", {value:"2008"});
उदाहरण 2
विशेषता संशोधन:
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" language: "EN" }; // एक गुण को संशोधित करना Object.defineProperty(person, "language", {value:"NO"});
उदाहरण 3
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" language: "NO" }; // एक गुण को संशोधित करना Object.defineProperty(person, "language", { value: "EN" writable: true, enumerable: true, configurable: true }); // गुणों का सूचीबद्ध करना let txt = ""; for (let x in person) { txt += person[x] + "<br>"; } // विशेषता दिखाएं document.getElementById("demo").innerHTML = txt;
उदाहरण 4
अगला उदाहरण पिछले उदाहरण के समान है, लेकिन language विशेषता को छुपा दिया है, ताकि इसे गणना नहीं किया जा सके:
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" language: "NO" }; // एक गुण को संशोधित करना Object.defineProperty(person, "language", { value: "EN" writable: true, enumerable: false, configurable: true }); // गुणों का सूचीबद्ध करना let txt = ""; for (let x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
उदाहरण 5
इस उदाहरण में setter और getter का निर्माण किया गया है, ताकि language गुण के अद्यतन को बड़े बनाया जा सके:
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" language: "NO" }; // एक गुण को संशोधित करना Object.defineProperty(person, "language", { get: function() { return language }, set: function(value) { language = value.toUpperCase() } }); // language को संशोधित करना person.language = "en"; // language दिखाना document.getElementById("demo").innerHTML = person.language;
उदाहरण 6
इस उदाहरण में getter का उपयोग किया गया है ताकि firstName और lastName को जोड़ा जा सके:
// एक ऑब्जेक्ट बनाना const person = { firstName: "Bill", lastName: "Gates" }; // एक गेटर डिफाइन करना Object.defineProperty(person, "fullName", { get: function () { return this.firstName + " " + this.lastName; } });
उदाहरण 7
जेसक्रिप्ट के गेटर और सेटर गणना बनाने के लिए बहुत उपयोगी हैं:
// डिफाइन करने वाले सेटर और गेटर Object.defineProperty(obj, "reset", { get: function () { this.counter = 0; } }); Object.defineProperty(obj, "increment", { get: function () { this.counter++; }}} }); Object.defineProperty(obj, "decrement", { get: function () { this.counter--; } }); Object.defineProperty(obj, "add", { set: function (value) { this.counter += value; } }); Object.defineProperty(obj, "subtract", { set: function (value) { this.counter -= value; } });
व्याकरण
Object.defineProperty(ऑब्जैक्ट, अनुभाग, वर्णन)
पारामीटर
पारामीटर | वर्णन |
---|---|
ऑब्जैक्ट | आवश्यक। लक्ष्य ऑब्जैक्ट |
अनुभाग | आवश्यक। अनुभाग नाम |
वर्णन |
आवश्यक। जोड़ने या संशोधित करने के लिए अनुभाग के वर्णनः
|
वापसी मान
टाइप | वर्णन |
---|---|
Object | संशोधित ऑब्जैक्ट |
ब्राउज़र समर्थन
Object.defineProperty()
यह ECMAScript5 (ES5) की विशेषता है।
2013 वर्ष 7 से, सभी आधुनिक ब्राउज़र एस5 (JavaScript 2009) का पूर्ण समर्थन करते हैं:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 23 | IE/Edge 11 | Firefox 21 | Safari 6 | Opera 15 |
2012 वर्ष 9 अक्टूबर | 2012 वर्ष 9 अक्टूबर | 2013 वर्ष 4 अप्रैल | 2012 वर्ष 7 जुलाई | 2013 वर्ष 7 जुलाई |
- पिछला पृष्ठ defineProperties()
- अगला पृष्ठ entries()
- एक स्तर ऊपर JavaScript वस्तु संदर्भ पुस्तिका