জাভাস্ক্রিপ্টে `স্ট্রিক্ট মোড`
এই নিবন্ধটি জাভাস্ক্রিপ্টে strict mode
ব্যাখ্যা করে।
YouTube Video
জাভাস্ক্রিপ্টে স্ট্রিক্ট মোড
জাভাস্ক্রিপ্টে, strict mode
ECMAScript 5 (ES5)-এ প্রবর্তিত একটি ফিচার যা কোডকে আরও নিরাপদ এবং ত্রুটি প্রতিরোধী করে তুলতে সাহায্য করে। strict mode ব্যবহারের মাধ্যমে কিছু শিথিল সিনট্যাক্স এবং ঝুঁকিপূর্ণ ফিচার নিষ্ক্রিয় করা হয়, এবং কঠোর ত্রুটিচেক কার্যকর করা হয়। এটি ডেভেলপারদের অনাকাঙ্ক্ষিত আচরণ এড়াতে এবং আরও মজবুত এবং উচ্চ-ক্ষমতাসম্পন্ন কোড লিখতে সহায়তা করে।
স্ট্রিক্ট মোড
সক্রিয় করা
strict mode
সক্রিয় করতে, আপনার কোডের শুরুতে নিম্নলিখিত নির্দেশনা যোগ করুন।
1"use strict";
এই ঘোষণা সম্পূর্ণ স্ক্রিপ্টের জন্য বা প্রতিটি ফাংশনের ভিত্তিতে প্রয়োগ করা যেতে পারে। উদাহরণস্বরূপ, যদি এটি সম্পূর্ণ স্ক্রিপ্টে প্রয়োগ করেন, তাহলে আপনি এটি নিম্নলিখিতভাবে লিখতে পারেন:।
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
যদি এটি প্রতিটি ফাংশনের জন্য প্রয়োগ করেন, তাহলে আপনি এটি নিম্নলিখিতভাবে লিখতে পারেন:।
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
স্ট্রিক্ট মোড
প্রতিটি স্কোপে প্রয়োগ করা হয়, তাই এটি একটি ফাংশনের মধ্যেও সক্রিয় করা যেতে পারে। এছাড়াও, যেহেতু মডিউলে ডিফল্টভাবে strict mode
সক্রিয় থাকে, আপনাকে এটি পৃথকভাবে মডিউলের মধ্যে ঘোষণা করতে হবে না।
স্ট্রিক্ট মোড
এর মূল বৈশিষ্ট্য এবং পার্থক্য
স্ট্রিক্ট মোড
ব্যবহারের মাধ্যমে জাভাস্ক্রিপ্টের কিছু ডিফল্ট আচরণ পরিবর্তিত হয়। এখানে প্রধান উদাহরণগুলো দেওয়া হলো।
অপ্রকাশিত গ্লোবাল ভেরিয়েবলগুলির নিষেধাজ্ঞা।
সাধারণ জাভাস্ক্রিপ্টে ভেরিয়েবল ডিক্লারেশন এড়িয়ে গেলে সেটি স্বয়ংক্রিয়ভাবে গ্লোবাল ভেরিয়েবল হিসাবে ঘোষণা করা হয়, কিন্তু স্ট্রিক্ট মোড
-এ এটি একটি ত্রুটি প্রদর্শন করে।
1"use strict";
2
3x = 10; // Error: x is not defined
ভেরিয়েবল সবসময় var
, let
, বা const
ব্যবহার করে ডিক্লেয়ার করা আবশ্যক।
রিজার্ভড শব্দ ব্যবহারে সীমাবদ্ধতা।
সম্ভাব্য ভবিষ্যৎ জাভাস্ক্রিপ্ট কীওয়ার্ড (যেমন, implements
, interface
, package
, ইত্যাদি) স্ট্রিক্ট মোড
-এ ভেরিয়েবল বা ফাংশনের নাম হিসাবে ব্যবহার করা যাবে না।
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
this
-এর আচরণে পরিবর্তন।
সাধারণ মোডে, একটি ফাংশনের ভিতরে this
গ্লোবাল অবজেক্টকে নির্দেশ করে (যেমন, ব্রাউজারে window
), কিন্তু স্ট্রিক্ট মোড
-এ, this
undefined
হয়।
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
এটি this
-এর ভুল ব্যবহারের কারণে সৃষ্ট বাগ প্রতিরোধে সহায়তা করে।
অমোচনীয় প্রপার্টিগুলি মুছে ফেলার নিষেধাজ্ঞা।
সাধারণ মোডে, নন-ডিলিটেবল অবজেক্ট প্রোপার্টি মুছে ফেলার প্রচেষ্টা কোনও ত্রুটি ছাড়াই উপেক্ষা করা হয়, কিন্তু স্ট্রিক্ট মোড
-এ এটি একটি ত্রুটি প্রদর্শন করে।
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
ডুপ্লিকেট প্যারামিটার নামগুলির নিষেধাজ্ঞা।
সাধারণ মোডে, একাধিকবার একই নামের প্যারামিটার ঘোষণা করা যেতে পারে, কিন্তু স্ট্রিক্ট মোড
-এ এটি একটি ত্রুটি সৃষ্টি করে।
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
with
স্টেটমেন্ট নিষিদ্ধ
with
স্টেটমেন্ট কোডের পঠনযোগ্যতা কমায় এবং এটি স্ট্রিক্ট মোড
-এ নিষিদ্ধ।
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
স্ট্রিক্ট মোড
এর সুবিধা
স্ট্রিক্ট মোড
বিভিন্নভাবে কোডের নিরাপত্তা এবং কার্যকারিতা বৃদ্ধি করে।
উন্নত ত্রুটি সনাক্তকরণ
স্ট্রিক্ট মোড
-এ, সাধারণ মোডে উপেক্ষা করা ত্রুটিগুলি ধরা পড়ে, যা ডেভেলপারদের সম্ভাব্য বাগ শুরুতেই ধরতে সহায়তা করে। যেমন, এটি অনিচ্ছাকৃত গ্লোবাল ভ্যারিয়েবল তৈরি এবং সংরক্ষিত শব্দগুলির অপব্যবহার প্রতিরোধ করে।
উন্নত কর্মক্ষমতা
স্ট্রিক্ট মোড
-এ, জাভাস্ক্রিপ্ট ইঞ্জিন আরও কার্যকরভাবে কোড অপ্টিমাইজ করতে পারে। এর ফলে, কর্মক্ষমতার গতি বৃদ্ধি পেতে পারে।
উন্নত কোড নিরাপত্তা
this
এর ব্যবস্থাপনা আরও কঠোর হয়ে যায়, যা অপ্রয়োজনীয় গ্লোবাল অবজেক্টগুলিতে প্রবেশাধিকার প্রতিরোধ করে এবং কোড নিরাপত্তা বৃদ্ধি করে। অতিরিক্তভাবে, সংরক্ষিত শব্দগুলির ব্যবহার নিষেধাজ্ঞা ভবিষ্যতে কীওয়ার্ডগুলির সঙ্গে সংঘর্ষ এড়ায়।
সুসংগতি এবং বিবেচনা
স্ট্রিক্ট মোড
ECMAScript 5-এ সংযোজিত হয়েছে এবং এর আগের ব্রাউজারগুলিতে এটি সমর্থিত নয়। তবে, অসমর্থিত ব্রাউজারগুলি দ্বারা স্ট্রিক্ট মোড
সক্রিয় করা কেবল উপেক্ষা করা হয়, স্ক্রিপ্ট ভাঙা ছাড়াই। অতএব, সাধারণত এটি নিরাপদে ব্যবহার করা যেতে পারে।
একটি বড় বিদ্যমান প্রকল্পে স্ট্রিক্ট মোড
প্রবর্তন করার সময়, অপ্রত্যাশিত ত্রুটি এড়াতে পুঙ্খানুপুঙ্খ পরীক্ষার প্রয়োজন।
উপসংহার
কোডের গুণমান উন্নত করার জন্য জাভাস্ক্রিপ্টের স্ট্রিক্ট মোড
অত্যন্ত কার্যকর একটি বৈশিষ্ট্য। বিশেষত বৃহৎ প্রকল্প বা দলীয় উন্নয়নের ক্ষেত্রে, অপ্রত্যাশিত ত্রুটি এবং বাগ প্রতিরোধ করতে এবং কোডের পাঠযোগ্যতা ও রক্ষণাবেক্ষণযোগ্যতা উন্নত করার জন্য কঠোর মোড সক্রিয়ভাবে ব্যবহারের পরামর্শ দেওয়া হয়।
স্ট্রিক্ট মোড
বোঝা এবং সঠিকভাবে প্রয়োগ করা জাভাস্ক্রিপ্টের ফাঁদ এড়াতে সহায়তা করে এবং নিরাপদ, আরও কার্যকর উন্নয়নকে সক্ষম করে।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।