If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
JavaScript में accessors properties होती हैं , जो कि as a Object Method की तरह work करती है। जिनका use किसी value को set / get करने के लिए किया जाता है। value set करने के लिए set keyword का use किया जाता है और value get करने के लिए get keyword का use किया जाता है।
JavaScript में accessors को ECMAScript 5 (2009) में introduce किया गया था।
File : js_accessors.html
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
<script>
var person = {
full_name : null,
/*define setter to set name*/
set set_name(name)
{
this.full_name = name;
},
/*define getter to get name*/
get get_name()
{
return this.full_name;
}
};
/*
* now call setter to set name
* you can also use like this person['set_name']
*/
person.set_name = 'Rahul Kumar';
/*now call setter to get name*/
document.write(person.get_name);
</script>
</body>
</html>
Rahul Kumar
Accessors को आप normal Object Property की तरह ही dot operator का use ( Object.getter / Object.setter ) करके या brackets का use करके ( Object['getter'] / Object['setter'] ) access कर सकते हैं। और setter में value set करने के लिए simply new value assign करते हैं। जैसा कि आप Example में आप देख सकते हैं , कि accessors को किस तरह से define और access करते हैं।
? जब हम किसी Object के लिए accessors define करते हैं तो , getter method के लिए Object में same name की एक property add हो जाती है , जिसकी value getter method के return value पर depend करती है। Object को console में print कराकर इसे आप आसानी से देख सकते हैं।
हालाँकि accessorsdefine करने की जगह आप Object के लिए methods भी define कर सकते हैं फिर Accessors ही क्यों ? . जैसा कि आपने ऊपर पढ़ा कि accessors भी methods होते हैं लेकिन इन्हे access करने के लिए हमें parenthesis () का use नहीं करा पड़ता है। जबकि methods को access करने के लिए हमें parenthesis () mandatory है।
Accessors की help से JavaScript data quality को ज्यादा secure कर सकती है , क्योंकि methods को access करते समय अगर गलती से parenthesis () का use नहीं किया तो हमें complete method definition मिल जाती है।
normal property की तरह ही आप easily Accessors को delete operator के through delete कर सकते हैं।
delete Object.setter; delete Object.getter;
or
delete Object['setter']; delete Object['getter'];
हालाँकि आप accessors को normal Object Property की तरह access तो कर सकते हैं , लेकिन Object define करने के बाद normal property की तरह add नहीं कर सकते हैं। क्योंकि normal property की तरह add करने पर वो as a property ही add होगी न कि accessor.
Object में new accessor add करने के लिए आपको predefined Object method defineProperty() का use करना पड़ेगा।
Example :
File : js_accessors.html
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
<script>
var person = {full_name : null};
/*add setter to set name*/
Object.defineProperty(person, 'set_name', {
set : function(name){
this.full_name = name;
}
});
/*add getter to get name*/
Object.defineProperty(person, 'get_name', {
get : function(){
return this.full_name;
}
});
person.set_name = 'Rahul Kumar';
document.write(person.get_name);
</script>
</body>
</html>
Rahul Kumar