টাইপসক্রিপ্টটি গিটার / সেটার সিনট্যাক্স ব্যবহার করে যা অ্যাকশনস্ক্রিপ্ট 3 এর মতো।
class foo {
private _bar: boolean = false;
get bar(): boolean {
return this._bar;
}
set bar(value: boolean) {
this._bar = value;
}
}
এটি ECMAScript 5 Object.defineProperty()
বৈশিষ্ট্যটি ব্যবহার করে এই জাভাস্ক্রিপ্ট তৈরি করবে ।
var foo = (function () {
function foo() {
this._bar = false;
}
Object.defineProperty(foo.prototype, "bar", {
get: function () {
return this._bar;
},
set: function (value) {
this._bar = value;
},
enumerable: true,
configurable: true
});
return foo;
})();
সুতরাং এটি ব্যবহার করতে,
var myFoo = new foo();
if(myFoo.bar) { // calls the getter
myFoo.bar = false; // calls the setter and passes false
}
তবে এটিকে একেবারে ব্যবহার করার জন্য, আপনাকে অবশ্যই টাইপস্ক্রিপ্ট সংকলক ECMAScript5 লক্ষ্য করে তা নিশ্চিত করতে হবে। আপনি যদি কমান্ড লাইন সংকলকটি চালাচ্ছেন তবে --target
এই জাতীয় পতাকা ব্যবহার করুন ;
tsc --target ES5
আপনি যদি ভিজ্যুয়াল স্টুডিও ব্যবহার করছেন তবে আপনার টাইপস্ক্রিপ্টকম্পাইল বিল্ড সরঞ্জামটির কনফিগারেশনে পতাকাটি যুক্ত করতে আপনার প্রকল্প ফাইলটি সম্পাদনা করতে হবে। আপনি এটি এখানে দেখতে পারেন :
@ ড্যানফ্রমগ্রামী নীচের পরামর্শ অনুসারে, আপনার যদি কেবল স্থানীয় সম্পত্তি যেমন পড়া এবং লেখার মতো হয় foo.bar = true
, তবে সেটার এবং গিটারের জুটি থাকা খুব বেশি ব্যয়বহুল। সম্পত্তি পড়া বা লিখিত হওয়ার পরে লগিংয়ের মতো কিছু করার দরকার থাকলে আপনি সেগুলি পরে যুক্ত করতে পারেন।