ইএস 6-তে বাবেলের গাইড বলেছেন:
letনতুনvar।
স্পষ্টতই কেবল পার্থক্যটি হ'ল varবর্তমান ফাংশনটি স্কোপড হয়ে যায় , যখন letবর্তমান ব্লকে স্কোপ হয় । এই উত্তরে কিছু ভাল উদাহরণ রয়েছে ।
আমি varES6 কোডে ব্যবহারের কোনও কারণ দেখতে পাচ্ছি না । এমনকি আপনি যদি পুরো ফাংশনে একটি প্রদত্ত পরিবর্তনশীলকে স্কোপ করতে চান, আপনি letফাংশন ব্লকের শীর্ষে ডিক্লারেশনটি রেখে এটি করতে পারেন , যা varপ্রকৃত সুযোগটি নির্দেশ করার জন্য আপনাকে যেভাবেই করা উচিত । এবং যদি আপনি কোনও forব্লক বা অন্য কোনও কিছুতে আরও সূক্ষ্মভাবে স্কোপ করতে চান তবে আপনি এটিও করতে পারেন।
সুতরাং আমার প্রবৃত্তিটি varES6 কোডটি লেখার সময় পুরোপুরি ব্যবহার বন্ধ করা ।
আমার প্রশ্ন, আমি কি এই সম্পর্কে ভুল? এমন কোন বৈধ মামলা আছে যেখানে varতার চেয়ে বেশি পছন্দনীয় হবে let?
letকোনও ফাংশনের শীর্ষে কোনও বিবৃতি দেন তবে আমি মনে করি এটি ঠিক স্পষ্টভাবেই যে আপনি এটি পুরো ফাংশনটিতে স্কোপ করার ইচ্ছা করেছিলেন। আমি মনে করি না varব্যবহারটি এটিকে শীর্ষে সন্ধানের চেয়ে আরও স্পষ্ট করে তোলে।
varএখনও বিদ্যমান, পিছনে-সামঞ্জস্য। এটি যদি না হয়, তারা varসম্পূর্ণরূপে সরিয়ে ফেলত, বা letপ্রথম স্থানে কখনও পরিচয় করিয়ে দেওয়া হত না , পরিবর্তে শব্দার্থক শব্দটির পরিবর্তে varএটির পক্ষে যুক্তিযুক্তভাবে কী হওয়া উচিত ছিল।
varবলে মনে হচ্ছে এবং তৃতীয় ধরণের পরিবর্তনশীল যে চারপাশে ছড়িয়ে পড়েছে তা নিশ্চিত করার পক্ষে যথেষ্ট নয়। আপনি letএকটি সম্পূর্ণ ফাংশনটিতে কেবলমাত্র ফাংশনের শীর্ষে রেখে এটিকে একটি স্কোপ করতে পারেন , যা varকোনও ব্লকে লেখার চেয়ে অনেক স্পষ্ট ((এটি সেই ব্লকটি থেকে উত্তোলন করার জন্য যাতে আপনি এটি ব্লকের বাইরে ব্যবহার করতে পারেন) - অদ্ভুত) তিনি হুঁশিয়ারি দিয়েছিলেন যে আপনি যদি letকোনও ফাংশন নিয়ে সুযোগ পান তবে "এটি ঠিক অবস্থান যা সিনট্যাক্সের চেয়ে পার্থক্যকে নির্দেশ করে", তবে আমি মনে করি এটি একটি ভাল জিনিস।
var। তিনি রাখার জন্য তিনি যে উদাহরণগুলি উপস্থাপন করেছেন তা সংবিধানযুক্ত varবলে মনে হয় - এবং এটি গুরুতর কোডিং ত্রুটির উপর ভিত্তি করে । কোনও ত্রুটি হিসাবে চালানো এবং ভাষার ক্রিয়াগুলি ব্যবহারের চেয়ে এমন ত্রুটিগুলি সংশোধন করতে বাধ্য হওয়া আরও ভাল যে এটির সাথে দূরে সরে যায়! এরপরে কী, ক্র্যাশ প্রতিরোধের জন্য সমস্ত কিছু চেষ্টা / ক্যাপচারে গুটিয়ে ফেলার পরামর্শ দিন? সেই লিঙ্কটির বাকী অংশটি ভাল তবে আমি সেই বিশেষ অংশটির সাথে মোটেও একমত নই।
varসচেতন সূচক হিসাবে ব্যবহার করা এই ভেরিয়েবলটি পুরো ফাংশনে স্কোপ করার উদ্দেশ্যে তৈরি করা একটি দরকারী "স্ব-ডকুমেন্টিং" কনভেনশন হতে পারে ।