জেভাস্ক্রিপ্ট অবজেক্ট এক্সেসর
- পূর্ববর্তী পৃষ্ঠা জেএস অবজেক্ট ডিসপ্লে
- পরবর্তী পৃষ্ঠা জেএস অবজেক্ট কনস্ট্রাকটর
JavaScript Accessor (Getter এবং Setter)
ECMAScript 5 (2009) তে Getter এবং Setter উপস্থাপিত হয়
Getter এবং Setter আপনাকে প্রতিযোগীর প্রতিযোগীর নাম নির্দিষ্ট করতে দেয় (গণনামূলক প্রতিযোগীর নাম)
JavaScript Getter (get কীভাবে)
এই উদাহরণটিতে lang
প্রতিযোগী দিয়ে প্রত্যাহার language
প্রতিযোগীর মান
প্রতিদর্শ
// অবজেক্ট তৈরি করুন: var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language; } }; // গেটার ব্যবহার করে ডট অবজেক্ট থেকে তথ্য দেখান: document.getElementById("demo").innerHTML = person.lang;
JavaScript Setter (set কীভাবে)
এই উদাহরণটিতে lang
প্রতিযোগী দিয়ে সংযোজন language
প্রতিযোগীর মান
প্রতিদর্শ
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang; } }; // সেটার ব্যবহার করে অবজেক্টের বৈশিষ্ট্য সেট করুন: person.lang = "en"; // ডট অবজেক্ট থেকে তথ্য দেখান: document.getElementById("demo").innerHTML = person.language;
JavaScript ফাংশন কিংবা Getter?
দুইটি উদাহরণের মধ্যে কী পার্থক্য আছে?
উদাহরণ 1
var person = { firstName: "Bill", lastName : "Gates", fullName : function() { return this.firstName + " " + this.lastName; } }; // প্রতিযোগী থেকে তথ্য দেখানোর জন্য পদ্ধতি ব্যবহার করুন: document.getElementById("demo").innerHTML = person.fullName();
উদাহরণ 2
var person = { firstName: "Bill", lastName : "Gates", get fullName() { return this.firstName + " " + this.lastName; } }; // গেটার ব্যবহার করে ডট অবজেক্ট থেকে তথ্য দেখান: document.getElementById("demo").innerHTML = person.fullName;
উদাহরণ 1 প্রতিযোগীর নাম প্রতিযোগীর নাম person.fullName()
উদাহরণ 2 প্রতিযোগীর প্রতিযোগীর নাম প্রতিযোগীর নাম প্রতিযোগীর নাম প্রতিযোগীর নাম person.fullName
দ্বিতীয় উদাহরণটি সরলতর সংজ্ঞানীকরণ প্রদান করে
তথ্যগুণ
getter এবং setter ব্যবহার করে JavaScript, ভালো তথ্যগুণ নিশ্চিত করতে পারে。
এই উদাহরণে, lang
প্রতিযোগীটি বড় অক্ষরে প্রত্যাহার করা হয় language
প্রতিযোগীর মান
প্রতিদর্শ
// অবজেক্ট তৈরি করুন: var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language.toUpperCase(); } }; // গেটার ব্যবহার করে ডট অবজেক্ট থেকে তথ্য দেখান: document.getElementById("demo").innerHTML = person.lang;
এই উদাহরণে, lang
বৈশিষ্ট্য বড় মাত্রার মান সংরক্ষণ করে language
বৈশিষ্ট্যে:
প্রতিদর্শ
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang.toUpperCase(); } }; // সেটার ব্যবহার করে অবজেক্টের বৈশিষ্ট্য সেট করুন: person.lang = "en"; // ডট অবজেক্ট থেকে তথ্য দেখান: document.getElementById("demo").innerHTML = person.language;
কেন Getter এবং Setter ব্যবহার করা যায়?
- এটি সরল ব্যাকরণ প্রদান করে
- এটি বৈশিষ্ট্য এবং পদ্ধতির সমান ব্যাকরণ দেয়
- এটি ভালো তথ্যগুণ নিশ্চিত করতে পারে
- পিছনের কাজের জন্য সুবিধাজনক
একটি গণনা প্রতিদর্শ
প্রতিদর্শ
var obj = { counter : 0, get reset() { this.counter = 0; }, get increment() { this.counter++; }, get decrement() { this.counter--; }, set add(value) { this.counter += value; }, set subtract(value) { this.counter -= value; } }; // কাউন্টার অপারেশন: obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement; Object.defineProperty()
Object.defineProperty()
পদ্ধতি তাকেও ব্যবহার করা যেতে পারে গেটার এবং সেটার:
প্রতিদর্শ
// 定义对象 var obj = {counter : 0}; // 定义 setters 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;} }); // কাউন্টার অপারেশন: obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement;
ব্রাউজার সমর্থন
ইন্টারনেট এক্সপ্লোরার ৮ বা তার পূর্ববর্তী সংস্করণগুলি Getter এবং Setter-এর সমর্থন করে না:
হ্যাঁ | ৯.০ | হ্যাঁ | হ্যাঁ | হ্যাঁ |
- পূর্ববর্তী পৃষ্ঠা জেএস অবজেক্ট ডিসপ্লে
- পরবর্তী পৃষ্ঠা জেএস অবজেক্ট কনস্ট্রাকটর