শব্দার্থক varএবংlet
varএবং letমেশিন এবং অন্যান্য প্রোগ্রামারদের কাছে বিবৃতি:
আমি অভিপ্রায় করি যে কার্যনির্বাহীকরণের সময় এই কার্যভারের মান পরিবর্তন হয়। এই কার্যভারের শেষ মানটির উপর নির্ভর করবেন না।
ব্যবহার varএবং এর প্রভাবlet
varএবং letঅন্যান্য প্রোগ্রামারদের ঘোষণাপত্র থেকে শেষের ব্যবহার পর্যন্ত সমস্ত হস্তক্ষেপকারী কোডটি পড়তে বাধ্য করুন এবং প্রোগ্রামটির সম্পাদনের সময় সেই সময়ে নির্ধারিত মূল্যের মূল্য সম্পর্কে যুক্তি দেখান।
তারা ESLint এবং অন্যান্য ভাষা পরিষেবাদির জন্য মেশিনের যুক্তিকে দুর্বল করে পরে সঠিকভাবে ভুল টাইপযুক্ত ভেরিয়েবলের নামগুলি সনাক্ত করতে এবং বাইরের স্কোপ ভেরিয়েবলের নামগুলির স্কোপ পুনঃব্যবহারের জন্য যেখানে অন্তঃস্থল স্কোপটি ভুলে যেতে ভুলে যায়।
এগুলি রান কোডটাইমগুলি সমস্ত কোডেপথগুলিতে অনেকগুলি পুনরাবৃত্তি চালানোর কারণ হিসাবে সনাক্ত করে যে তারা প্রকৃতপক্ষে, ধ্রুবক, তারা তাদের অনুকূলিত করার আগে। তবুও এটি বাগ সনাক্তকরণ এবং বিকাশকারী বোধগম্যতার তুলনায় কোনও সমস্যার কম।
কখন ব্যবহার করতে হবে const
যদি প্রয়োগের সময়কালে রেফারেন্সের মান পরিবর্তন না হয় তবে প্রোগ্রামারের অভিপ্রায়টি প্রকাশ করার জন্য সঠিক বাক্য গঠন const। অবজেক্টের জন্য, রেফারেন্সের মান পরিবর্তন করার অর্থ অন্য অবজেক্টের দিকে নির্দেশ করা যেমন রেফারেন্সটি পরিবর্তনযোগ্য, তবে বস্তুটি নয়।
" const" অবজেক্টস
অবজেক্ট রেফারেন্সের জন্য, পয়েন্টারটিকে অন্য কোনও অবজেক্টে পরিবর্তন করা যায় না, তবে যে বস্তুটি তৈরি করা হয় এবং constঘোষণার জন্য বরাদ্দ করা হয় তা পরিবর্তনীয়। আপনি কোনও constরেফারেন্সড অ্যারে থেকে আইটেমগুলি যুক্ত করতে বা সরিয়ে ফেলতে পারেন এবং কোনও constরেফারেন্স করা বস্তুর উপর সম্পত্তি কীগুলিকে পরিবর্তন করতে পারেন ।
অপরিবর্তনীয় অবজেক্টগুলি অর্জন করতে (যা আবার আপনার কোডটি মানুষের ও মেশিনগুলির বিষয়ে তর্ক করতে আরও সহজ করে তোলে), আপনি Object.freezeঘোষণার / অ্যাসাইনমেন্ট / ক্রিয়েশনতে এই বিষয়টিকে এইভাবে করতে পারেন :
const Options = Object.freeze(['YES', 'NO'])
অবজেক্ট.ফ্রিজে পারফরম্যান্সে প্রভাব ফেলে তবে অন্যান্য কারণে আপনার কোড সম্ভবত ধীর। আপনি এটি প্রোফাইল করতে চান।
আপনি কোনও রাষ্ট্রীয় মেশিনে পরিবর্তিত বস্তুটিও encapsulate করতে পারেন এবং গভীর অনুলিপিগুলিকে মান হিসাবে ফেরত দিতে পারেন (এটি Redux এবং প্রতিক্রিয়া রাষ্ট্রের কাজটি করে)। প্রথম নীতিগুলি থেকে এটি কীভাবে তৈরি করা যায় তার উদাহরণের জন্য ব্রাউজার জেএসে পরিবর্তনীয় গ্লোবাল রাষ্ট্র এড়ানো দেখুন ।
কখন varএবং letএকটি ভাল ম্যাচ
letএবং varপরিবর্তনীয় রাষ্ট্রের প্রতিনিধিত্ব করে। তাদের, আমার মতে, কেবলমাত্র প্রকৃত পরিবর্তনীয় স্থিতির মডেল হিসাবে ব্যবহার করা উচিত । " সংযোগটি কি জীবিত? " এর মতো বিষয়গুলি ।
এগুলি টেস্টেবল স্টেট মেশিনে সর্বোত্তমভাবে আবদ্ধ হয় যা " সংযোগের বর্তমান অবস্থা " উপস্থাপন করে এমন ধ্রুবক মানগুলি প্রকাশ করে যা সময়ের যে কোনও সময় স্থির থাকে এবং আপনার বাকী কোডটি আসলে কী আগ্রহী।
পার্শ্ব-প্রতিক্রিয়া রচনা এবং ডেটা রূপান্তরকরণের সাথে প্রোগ্রামিং ইতিমধ্যে যথেষ্ট শক্ত hard জটিলতার উপর কেবলমাত্র গাদা দিয়ে ভেরিয়েবলের সাথে পরিবর্তনীয় স্থিতি তৈরি করে প্রতিটি ফাংশনকে অকেটেস্টেবল স্টেট মেশিনে পরিণত করা।
আরও জঘন্য ব্যাখ্যার জন্য, দেখুন মিউট্যান্টকে বাদ দিন - কেস এর জন্যconst ।