জেভাস্ক্রিপ্ট অবজেক্ট এক্সেসর

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-এর সমর্থন করে না:

হ্যাঁ ৯.০ হ্যাঁ হ্যাঁ হ্যাঁ