গৃহীত উত্তরটি দুর্দান্ত। আপনি যদি কমপ্যাক্ট "তীর ফাংশন সিনট্যাক্স" এর পরিবর্তে সাধারণ ফাংশন সিনট্যাক্স ব্যবহার করতে চান তবে এটি সেরা ।
তবে সম্ভবত আপনি তীর ফাংশন পছন্দ করেন; হতে পারে আপনি অন্য কারণে তীর ফাংশনটি ব্যবহার করেন যা একটি সাধারণ ফাংশন সিনট্যাক্স প্রতিস্থাপন করতে পারে না ; আপনার আলাদা সমাধান দরকার হতে পারে।
উদাহরণস্বরূপ, আমি ওপি ব্যবহার লক্ষ্য করেছি this
, আপনি লেজিকভাবে বাঁধতেthis
চাইতে পারেন ; ওরফে "এটির নন-বাঁধাই করা" ), এবং তীর ফাংশনগুলি এই লেজিকাল বাইন্ডিংয়ের পক্ষে ভাল।
আপনি এখনও Object.defineProperty
কৌশলটির মাধ্যমে গেটর সহ একটি তীর ফাংশন ব্যবহার করতে পারেন ।
{
...
Object.defineProperty(your_obj, 'status', {
get : () => this.xhr.status
});
...
}
কৌশল উল্লেখ (ওরফে দেখুন )object initialization
get NAME() {...}
) বনাম defineProperty
কৌশল (ওরফে get : ()=>{}
) । কমপক্ষে একটি উল্লেখযোগ্য পার্থক্য রয়েছে, ব্যবহারের defineProperty
জন্য ভেরিয়েবলগুলি ইতিমধ্যে বিদ্যমান রয়েছে:
বিদ্যমান বস্তুগুলির উপর একটি গেটর সংজ্ঞা দেওয়া হচ্ছে
অর্থাত্ Object.defineProperty
আপনার অবশ্যই নিশ্চিত করতে হবে যে your_obj
(আমার উদাহরণে) বিদ্যমান এবং একটি পরিবর্তনশীল হিসাবে সংরক্ষণ করা হয়েছে (যেখানে একটি দিয়ে object-initialization
আপনি আপনার অবজেক্টের সূচনাতে কোনও বস্তু-আক্ষরিক ফিরিয়ে দিতে পারেন {..., get(){ }, ... }
:)। বিশেষত এখানে আরও তথ্যObject.defineProperty
Object.defineProperty(...)
এর সাথে তুলনীয় ব্রাউজার সমর্থন রয়েছে বলে মনে হয় get NAME(){...}
সিনট্যাক্সের ; আধুনিক ব্রাউজারগুলি, আইই 9।
(method, url, something) => this.xhr.open(method. url, something)
।