सीधे शब्दों में निर्माता में एक निरंतर उदाहरण के लिए देते नहीं होगा परिभाषित करने के लिए, आप this
का उपयोग कर इसे सेट करना होगा। मैं तुम्हें अचल स्थिति चाहते हैं अनुमान लगा रहा हूँ, ताकि आप getters उपयोग कर सकते हैं:
class Foo {
constructor() {
this._bar = 42;
}
get bar() {
return this._bar;
}
}
तो फिर तुम यह आप की तरह उपयोग कर सकते हैं सामान्य रूप से होगा:
const foo = new Foo();
console.log(foo.bar) // 42
foo.bar = 15;
console.log(foo.bar) // still 42
यह जब bar
बदलने के लिए प्रयास में कोई त्रुटि फेंक नहीं होंगे। यदि आप चाहें तो आप एक सेटर में एक त्रुटि बढ़ा सकते हैं:
class Foo {
constructor() {
this._bar = 42;
}
get bar() {
return this._bar;
}
set bar(value) {
throw new Error('bar is immutable.');
}
}
@ बरगी मैं जो भी पूछ रहा हूं उससे भी दूरस्थ रूप से समान नहीं हूं। – alexandernst
वैसे [यह] (http://stackoverflow.com/questions/13418669/javascript-do-i-need-to-put-this-var-for-every-variable-in-an-object) के बीच का अंतर बताता है चर और गुण, जिसके साथ आपको समस्याएं प्रतीत होती हैं। माना जाता है कि यह आपको यह नहीं बताता कि गैर-लेखन योग्य गुणों को कैसे परिभाषित किया जाए। – Bergi