⊗jsPmFCPS 273 of 505 menu

IIFE-এ নিরাপত্তার জন্য সেমিকোলন

এখন ধরি আমাদের অবিলম্বে ইনভোক করা ফাংশনটি শুরুতে প্লাস চিহ্নের বদলে বৃত্তাকার বন্ধনী দ্বারা আবদ্ধ, এভাবে:

(function() { console.log(1); // 1 প্রিন্ট করবে })();

ধরি ভেরিয়েবল num ফাংশনের বাইরে সংজ্ঞায়িত করা হয়েছে:

let num = 1; // সেমিকোলন দেওয়া আছে (function() { console.log(num); // 1 প্রিন্ট করবে })();

ধরি এখন আমরা সেমিকোলন দিতে ভুলে গেছি:

let num = 1 (function() { console.log(num); //!! error দেবে })();

দেখা যাচ্ছে যে, এই কোডটি একটি error দেবে, কারণ জাভাস্ক্রিপ্ট আমাদের ফাংশনটিকে প্রথম লাইনের কমান্ডের ধারাবাহিকতা হিসেবে গ্রহণ করে।

এই ধরনের সমস্যা এড়ানোর জন্য, অবিলম্বে ইনভোক করা ফাংশনের আগে সর্বদা সেমিকolon বসানো প্রয়োজন, এভাবে:

let num = 1 ;(function() { console.log(num); // 1 প্রিন্ট করবে })();

মনে হতে পারে যে সমস্যাটি কিছুটা কৃত্রিম। আসলে, তা নয়। এমন পরিস্থিতি হতে পারে যে আপনার পৃষ্ঠায় বিভিন্ন ফাইল থেকে একাধিক স্ক্রিপ্ট সংযুক্ত করা হয়েছে। সেই ক্ষেত্রে একটি ফাইলের শেষে সেমিকোলন ব omission পড়ে থাকতে পারে এবং এটি স্বয়ংক্রিয়ভাবে সমস্যার সৃষ্টি করবে, যদি দ্বিতীয় ফাইলটি শুরু হয় অবিলম্বে ইনভোক করা ফাংশন দিয়ে।

সুতরাং, অবিলম্বে ইনভোক করা ফাংশনের আগে সর্বদা-সর্বদা সেমিকোলন বসান, এমনকি যদি আপনি এই মুহূর্তে নিশ্চিত থাকেন যে সমস্যা হবে না। সেগুলি পরে দেখা দিতে পারে।

উপরে বলা বিষয়টি প্রয়োগ করি এবং অবিলম্বে ইনভোক করা ফাংশনটির শুরুতে সেমিকোলন বসিয়ে কল করি:

;(function() { console.log(1); // 1 প্রিন্ট করবে })();

কód রান না করে নির্ধারণ করুন কী কনসোলে প্রিন্ট হবে:

let str = 'str'; (function() { console.log(1); })();

কód রান না করে নির্ধারণ করুন কী কনসোলে প্রিন্ট হবে:

let str = 'str' (function() { console.log(1); })();
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন