স্থানীয় ভেরিয়েবলের জন্য, চেক করা localVar === undefined
কাজ করবে কারণ তাদের অবশ্যই স্থানীয় ক্ষেত্রের মধ্যেই সংজ্ঞা দেওয়া হয়েছে বা সেগুলি স্থানীয় হিসাবে বিবেচিত হবে না।
ভেরিয়েবলগুলির জন্য যা স্থানীয় নয় এবং কোথাও সংজ্ঞায়িত নয়, চেকটিsomeVar === undefined
ব্যতিক্রম ছুঁড়ে দেবে: অপরিবর্তিত রেফারেন্স এরিয়ার: j সংজ্ঞায়িত করা হয়নি
এখানে এমন কিছু কোড রয়েছে যা আমি উপরে যা বলছি তা স্পষ্ট করে দেবে। আরও স্পষ্টতার জন্য দয়া করে ইনলাইন মন্তব্যে মনোযোগ দিন ।
function f (x) {
if (x === undefined) console.log('x is undefined [x === undefined].');
else console.log('x is not undefined [x === undefined.]');
if (typeof(x) === 'undefined') console.log('x is undefined [typeof(x) === \'undefined\'].');
else console.log('x is not undefined [typeof(x) === \'undefined\'].');
// This will throw exception because what the hell is j? It is nowhere to be found.
try
{
if (j === undefined) console.log('j is undefined [j === undefined].');
else console.log('j is not undefined [j === undefined].');
}
catch(e){console.log('Error!!! Cannot use [j === undefined] because j is nowhere to be found in our source code.');}
// However this will not throw exception
if (typeof j === 'undefined') console.log('j is undefined (typeof(x) === \'undefined\'). We can use this check even though j is nowhere to be found in our source code and it will not throw.');
else console.log('j is not undefined [typeof(x) === \'undefined\'].');
};
যদি আমরা উপরের কোডটি এভাবে কল করি:
f();
আউটপুটটি এই হবে:
x is undefined [x === undefined].
x is undefined [typeof(x) === 'undefined'].
Error!!! Cannot use [j === undefined] because j is nowhere to be found in our source code.
j is undefined (typeof(x) === 'undefined'). We can use this check even though j is nowhere to be found in our source code and it will not throw.
যদি আমরা উপরের কোডগুলিতে কল করি (আসলে কোনও মান সহ):
f(null);
f(1);
আউটপুটটি হবে:
x is not undefined [x === undefined].
x is not undefined [typeof(x) === 'undefined'].
Error!!! Cannot use [j === undefined] because j is nowhere to be found in our source code.
j is undefined (typeof(x) === 'undefined'). We can use this check even though j is nowhere to be found in our source code and it will not throw.
আপনি যখন চেকটি এভাবে করেন typeof x === 'undefined'
:, আপনি মূলত এটি জিজ্ঞাসা করছেন: দয়া করে পরিবর্তনশীল কিনা তা পরীক্ষা করুনx
সোর্স কোডের কোথাও উপস্থিত রয়েছে । (বেশি অথবা কম). আপনি যদি সি # বা জাভা জানেন তবে এই ধরণের চেক কখনও করা হয় না কারণ এটি উপস্থিত না থাকলে এটি সংকলন করবে না।
<== আমার কাছে ফিডল ==>