జావాస్క్రిప్ట్ ఆబ్జెక్ట్ అనుసంధానకర్తలు

జావాస్క్రిప్ట్ అనుమానిక పరిమితిని నిర్వహించడం

ECMAScript 5 (2009) Getter మరియు Setter ను ప్రవేశపెట్టింది.

Getter మరియు Setter మీరు ఆప్లికేషన్ అనుమానిక పరిమితిని నిర్వహించగలరు (అంచనా అంశాలు).

జావాస్క్రిప్ట్ Getter(get కీవర్డ్)

ఈ ఉదాహరణలో ఉపయోగించబడింది lang అంశం పొందండి language అంశం విలువ

ఇన్స్టాన్స్

// ఆబ్జెక్ట్ సృష్టించండి:}}
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "en",
  get lang() {
    return this.language;
  }
};
// పర్సన్ ఆబ్జెక్ట్ నుండి డేటాను ప్రదర్శించడానికి ఉపయోగించండి:
document.getElementById("demo").innerHTML = person.lang;

స్వయంగా ప్రయత్నించండి

జావాస్క్రిప్ట్ 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;

స్వయంగా ప్రయత్నించండి

జావాస్క్రిప్ట్ ఫంక్షన్ లేదా 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 ఉపయోగించడం ద్వారా జావాస్క్రిప్ట్ ఉత్తమ డేటా నాణ్యతను నిర్ధారించగలుగుతుంది.

ఈ ఉదాహరణలో ఉపయోగించబడింది: 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() మాధ్యమం కూడా Getter మరియు Setter లను జోడించడానికి ఉపయోగించవచ్చు:

ఇన్స్టాన్స్

// 定义对象
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;

స్వయంగా ప్రయత్నించండి

బ్రౌజర్ మద్దతు

ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అంతకు ముంది వర్షాలు గెట్టర్ మరియు సెట్టర్లను మద్దతు ఇవ్వలేదు:

అవును 9.0 అవును అవును అవును