তীর ফাংশনগুলি কেবল পুরানো ফ্যাশনগুলির সংক্ষিপ্ত সংস্করণ হিসাবে প্রতিটি পরিস্থিতিতে ব্যবহার করার জন্য ডিজাইন করা হয়নি। তারা মূল function
শব্দটি ব্যবহার করে ফাংশন সিনট্যাক্স প্রতিস্থাপন করার উদ্দেশ্যে নয় । তীর ফাংশনগুলির জন্য সর্বাধিক সাধারণ ব্যবহারের ক্ষেত্রে সংক্ষিপ্ত "ল্যাম্বডাস" যা নতুন সংজ্ঞা দেয় না this
, প্রায়শই কোনও ফাংশনে কলব্যাক হিসাবে কোনও ফাংশন পাস করার সময় ব্যবহৃত হয়।
তীর ফাংশনগুলি অবজেক্টের পদ্ধতিগুলি লিখতে ব্যবহার করা যায় না কারণ আপনি যেমনটি খুঁজে পেয়েছেন যেহেতু অ্যারো ফাংশনগুলি this
লেক্সিক্যালি এনকোলেসিং প্রসঙ্গে চলেছে this
তাই তীরের অভ্যন্তরটি হ'লটি বর্তমান ছিল যেখানে আপনি বস্তুর সংজ্ঞা দিয়েছেন। যা বলতে হয়:
var chopper = {
owner: 'Zed',
getOwner: () => {
return this.owner;
}
};
আপনার ক্ষেত্রে, কোনও অবজেক্টে কোনও পদ্ধতি লিখতে চান, আপনার সহজভাবে traditional function
তিহ্যবাহী বাক্য গঠন বা ES6-তে প্রবর্তিত পদ্ধতি সিনট্যাক্স ব্যবহার করা উচিত :
var chopper = {
owner: 'Zed',
getOwner: function() {
return this.owner;
}
};
var chopper = {
owner: 'Zed',
getOwner() {
return this.owner;
}
};
( এগুলির মধ্যে ছোট পার্থক্য রয়েছে, তবে আপনি কেবল তখন ব্যবহার super
করেন getOwner
, যা আপনি নন বা আপনি যদি getOwner
অন্য কোনও সামগ্রীতে অনুলিপি করেন তবে তা কেবল গুরুত্বপূর্ণ're )
এসো মেলিং তালিকায় তীর ফাংশনগুলির একটি টুইস্ট সম্পর্কে কিছুটা বিতর্ক ছিল যাগুলির নিজস্ব বাক্যগুলির সাথে একই রকম বাক্য গঠন রয়েছে this
। তবে, এই প্রস্তাবটি খারাপভাবে গ্রহণ করা হয়েছিল কারণ এটি নিছক সিনট্যাক্স চিনির ফলে লোকেরা কয়েকটি অক্ষর টাইপ করে সংরক্ষণ করতে পারে এবং বিদ্যমান ফাংশন সিনট্যাক্সের চেয়ে কোনও নতুন কার্যকারিতা সরবরাহ করে না। বিষয়টিকে আনবাউন্ড তীরের ক্রিয়াগুলি দেখুন ।
this
ভিন্নভাবে আচরণ করে । এটি সংক্ষিপ্ত পরিবেশের দ্বারা সংজ্ঞায়িত করা হয়েছে যেখানে ফাংশনটি তৈরি হয়েছিল, যার অর্থthis
যেখানে আপনিchopper
ভেরিয়েবলটি তৈরি করেনthis
সেখানে ফাংশনের মান হবে । অন্য কথায়, এটিchopper
অবজেক্টটি উল্লেখ করবে না ।