জাভাস্ক্রিপ্টে একটি মানের অনুপস্থিতি নির্দেশ করার একাধিক উপায় রয়েছে। এই পৃষ্ঠাটি দুটি সর্বাধিক সাধারণ উপায় বর্ণনা করে: null
এবং undefined
ডেটা প্রকার।
null
null
কীওয়ার্ডটি ইচ্ছাকৃতভাবে সংজ্ঞায়িত মানের অনুপস্থিতির প্রতিনিধিত্ব করে। null
একটি আদিম, যদিও অপারেটর typeof
দেয় যে null
একটি বস্তু। এটি একটি ত্রুটি যা জাভাস্ক্রিপ্টের প্রথম সংস্করণ থেকে চলে এসেছে এবং ওয়েব জুড়ে প্রত্যাশিত আচরণ ভাঙা এড়াতে ইচ্ছাকৃতভাবে এড্রেস করা হয়নি।
typeof null
> object
আপনি একটি ভেরিয়েবলকে null
হিসাবে সংজ্ঞায়িত করতে পারেন এই প্রত্যাশার সাথে যে এটি একটি স্ক্রিপ্টের কোনও সময়ে এটিতে নির্ধারিত মান বা স্পষ্টভাবে অনুপস্থিত মান প্রতিফলিত করে। আপনি পূর্ববর্তী মান মুছে ফেলার জন্য একটি বিদ্যমান রেফারেন্সে null
মান নির্ধারণ করতে পারেন।
undefined
undefined
হল একটি আদিম মান যা সবেমাত্র ঘোষিত ভেরিয়েবলের জন্য বা এমন একটি অপারেশনের ফলস্বরূপ মান যা একটি অর্থপূর্ণ মান প্রদান করে না। উদাহরণস্বরূপ, এটি ঘটতে পারে যখন আপনি একটি ব্রাউজারের বিকাশকারী কনসোলে একটি ফাংশন ঘোষণা করেন:
function myFunction() {}
> undefined
একটি ফাংশন স্পষ্টভাবে undefined
রিটার্ন করে যখন তার return
স্টেটমেন্ট কোন মান প্রদান করে না।
(function() {
return;
}());
> undefined
null
এবং undefined
তুলনা
যদিও undefined
এবং null
কিছু কার্যকরী ওভারল্যাপ আছে, তাদের ভিন্ন উদ্দেশ্য আছে। কঠোর অর্থে, null
ইচ্ছাকৃতভাবে "খালি" হিসাবে সংজ্ঞায়িত একটি মানকে উপস্থাপন করে এবং undefined
কোনও নির্ধারিত মানটির অভাবকে উপস্থাপন করে।
null
এবং undefined
শিথিলভাবে সমান, কিন্তু কঠোরভাবে সমান নয় । ঢিলেঢালা সমতা অপারেটর বিভিন্ন ধরনের অপারেন্ডগুলিকে বুলিয়ান মানগুলিতে বাধ্য করে, যা null
এবং undefined
উভয়কেই false
করে। কঠোর সমতা অপারেটর বিভিন্ন ডেটা প্রকারের অপারেন্ডগুলিকে অসম বলে বিবেচনা করে।
null == undefined
> true
null === undefined
> false
সংরক্ষিত কীওয়ার্ড null
বিপরীতে, undefined
হল গ্লোবাল অবজেক্টের একটি সম্পত্তি। জাভাস্ক্রিপ্টের বিকাশের প্রথম দিকে এটি একটি ডিজাইনের সিদ্ধান্ত ছিল এবং এটি লিগ্যাসি ব্রাউজারগুলিকে সম্পূর্ণরূপে undefined
ওভাররাইট করতে দেয়। আধুনিক ব্রাউজারে, অ-বৈশ্বিক স্কোপগুলিতে একটি শনাক্তকারী হিসাবে undefined
ব্যবহার করা এখনও সম্ভব, সেই ঘোষণার সুযোগের মধ্যে এর মানকে ওভাররাইড করে। একটি শনাক্তকারী হিসাবে undefined
ব্যবহার করবেন না . এটি অপ্রত্যাশিত আচরণের কারণ হতে পারে এবং আপনার কোডবেসের ভবিষ্যতের রক্ষণাবেক্ষণকারীদের বিভ্রান্ত করতে পারে।
আপনার উপলব্ধি পরীক্ষা করুন
typeof null
কি?
object
string
undefined
primitive