ভ্যারিয়েবল এবং ডেটা টাইপ (Variables & Data Types)
ভ্যারিয়েবল কী? (What Are Variables?)
কল্পনা করুন আপনার রান্নাঘরে লেবেল লাগানো কিছু বয়াম আছে। একটিতে লেখা "চিনি," অন্যটিতে লেখা "ময়দা।" আপনি যেকোনো বয়ামের ভেতরে উঁকি দিয়ে দেখতে পারেন সেখানে কী আছে, ভেতরের জিনিসগুলো বদলাতে পারেন, বা পুরোটা খালি করে ফেলতে পারেন। ভ্যারিয়েবলগুলো অবিকল সেই বয়ামগুলোর মতোই — এগুলো কোনো ডেটাকে ধারণ করে এবং সেগুলোর একটি নাম দেয় যা আপনি পরে ব্যবহার করতে পারেন।
জাভাস্ক্রিপ্টে আপনি তিনটি কীওয়ার্ডের যেকোনো একটি ব্যবহার করে ভ্যারিয়েবল তৈরি করতে পারেন: let, const, বা var।
let— আপনার প্রথম পছন্দ। আপনি চাইলে পরে এর ভেতরের জিনিস পরিবর্তন করতে পারেন।const— একটি তালাবদ্ধ বয়াম। একবার ভেতরে কিছু রাখলে, আপনি আর তা বদলাতে পারবেন না।var— পুরোনো পদ্ধতি। এটি এখনও কাজ করে, তবে এর কিছু অদ্ভুত আচরণ আছে যা আপনাকে বিপদে ফেলতে পারে। এর বদলেletএবংconstব্যবহার করা ভালো।
ভ্যারিয়েবল তৈরি করা (Creating Variables)
জাভাস্ক্রিপ্টের ডেটা টাইপগুলো (JavaScript's Data Types)
জাভাস্ক্রিপ্টে প্রতিটি ভ্যালুর একটি টাইপ (type) থাকে — এভাবেই জাভাস্ক্রিপ্ট বুঝতে পারে আপনি কোনো সংখ্যা নিয়ে কাজ করছেন, নাকি কোনো টেক্সট, নাকি সম্পূর্ণ ভিন্ন কিছু নিয়ে। এখানে ৭টি প্রিমিটিভ টাইপ (primitive types) (সহজ, একক ভ্যালু) এবং ১টি অবজেক্ট টাইপ (object type) (জটিল, যেখানে একাধিক ভ্যালু থাকতে পারে) রয়েছে।
এখানে সেই প্রিমিটিভগুলো দেওয়া হলো যেগুলো আপনার রোজকার কাজে লাগবে:
- Number — যেকোনো গাণিতিক নাম্বার বা সংখ্যা:
42,3.14,-7। জাভাস্ক্রিপ্ট পূর্ণসংখ্যা (integer) এবং দশমিককে (decimal) আলাদা করে না — সবগুলোই কেবল "number"। - String — কোটেশন (quote) দিয়ে ঘেরা টেক্সট:
"hello",'world', বা ব্যাকটিক`hi`। - Boolean — এর শুধুমাত্র দুটি সম্ভাব্য মান রয়েছে:
true(সত্য) বাfalse(মিথ্যা)। একে অনেকটা লাইটের সুইচের মতো চিন্তা করতে পারেন। - Undefined — এমন একটি ভ্যারিয়েবল যার অস্তিত্ব আছে কিন্তু এখনও কোনো ভ্যালু দেওয়া হয়নি। অনেকটা লেবেল লাগানো একটি ফাঁকা বয়ামের মতো।
- Null — আপনি ইচ্ছাকৃতভাবে বলছেন যে "এই বয়ামটি ফাঁকা।" এটি বুঝিয়ে দেয় যে আপনি ইচ্ছাকৃতভাবেই সেখানে "কিছুই না" রেখেছেন।
- BigInt — অনেক, অনেক বড় সংখ্যার জন্য, যা সাধারণ
Numberসামলাতে পারে না। - Symbol — একটি অদ্বিতীয় বা ইউনিক আইডেন্টিফায়ার (identifier)। সম্ভবত অনেক পরের দিকের আগে এটি আপনার কাজে লাগবে না।
typeof — কোন জিনিসটি কী টাইপের তা যাচাই করুন (typeof — Checking What Type Something Is)
NaN এবং null এর অদ্ভুত আচরণ (The Weirdness of NaN and null)
NaN এর মানে হলো "Not a Number" বা এটি কোনো সংখ্যা নয়, কিন্তু typeof NaN আবার "number" রিটার্ন করে। তাজ্জব ব্যাপার, তাই না? এটি তখনই দেখা যায় যখন কোনো অঙ্কের হিসাবে গণ্ডগোল হয় — যেমন কোনো শব্দকে সংখ্যা দিয়ে গুণ করার চেষ্টা করা।
null এর মানে হলো "কোনো ভ্যালু নেই," অথচ typeof null আবার "object" রিটার্ন করে। এটি আসলে ১৯৯৫ সালের একটি বাগ (bug) যা কখনোই ঠিক করা হয়নি কারণ এর ওপর ভিত্তি করে আগে থেকেই অনেক কোড লেখা হয়ে গিয়েছিল। জাভাস্ক্রিপ্টের অদ্ভুত জগতে আপনাকে স্বাগতম!
NaN চেক করার জন্য Number.isNaN() ব্যবহার করুন। আর null চেক করার জন্য কেবল === null ব্যবহার করুন।