জাভাস্ক্রিপ্ট স্টেটমেন্ট এবং এক্সপ্রেশন

Abdus SukkurAbdus Sukkur
3 min read

প্রোগ্রামিং শেখার শুরুর দিকে স্টেটমেন্ট এবং এক্সপ্রেশন এই দুইটা কথা আমরা হরহামেশায় শুনে থাকি। কিন্তু হটাৎ করে যখন কেউ জিজ্ঞেস করে স্টেটমেন্ট কি আর এক্সপ্রেশন কি? এই দুইটার মধ্যে পার্থ্ক্য কি ? এই রকম প্রশ্ন শোনার পর আমরা একটু কনফিউশন এ থাকি অথবা ব্যাপার টা বুঝলেও ঠিক মতো এক্সপ্লেইন করে বুঝতে পারি না।

এইটা স্পেসিফিক ল্যাংগুয়েজ রিলেটেড কোনো টপিক না এই দুইটা টার্ম আপনার সমস্ত প্রোগ্রামিং ল্যাঙ্গুয়েজেই শুনতে পাবেন। তবে যারা রিয়েক্ট নিয়ে কাজ করেন তাদের স্টেটমেন্ট এবং এক্সপ্রেশন এর সম্পর্কে একটা ক্লিয়ার আইডিয়া খুবই জরুরি। তাই আমি উদাহরণগুলো জাভাস্ক্রিপ্ট দিয়ে দেওয়ার চেষ্টা করবো। আজকের এই পোষ্টের পর আশা করি এই স্টেটমেন্ট এবং এক্সপ্রেশন নিয়ে থাকা সমস্ত কনফিউশন দূর হয়ে যাবে ইনশাআল্লাহ।

এক্সপ্রেশন:

একদম সহজ করে যদি বলি যখন দেখবেন জাভাস্ক্রিপ্ট এর কোন কোড যদি ভ্যালু প্রডিউস করে তাহলেই সেটা এক্সপ্রেশন।

কিছু উদাহরণ দিয়ে বুঝার চেষ্টা করি:

  • 1 → produces 1

  • "hello" → produces "hello"

  • 5 * 10 → produces 50

  • num > 100 → produces either true or false

  • isHappy ? "🙂" : "🙁" → produces an emoji

  • [1, 2, 3].pop() → produces the number 3

একটা এক্সপ্রেশন এর মধ্যে ও এক্সপ্রেশন থাকতে পারে।

যেমন: (5 + 1) * 2 এইটা একটা এক্সপ্রেশন তাই না ?

এই এক্সপ্রেশন এর মধ্যে মোট কয়টা এক্সপ্রেশন আছে?

উত্তর: মোট 5 টা।

কিভাবে!

  1. (5 + 1) * 2 পুরোটা একটা এক্সপ্রেশন।

  2. (5 + 1) এইটা একটা এক্সপ্রেশন।

  3. 5 একটা এক্সপ্রেশন।

  4. 1 একটা এক্সপ্রেশন।

  5. 2 একটা এক্সপ্রেশন।

আরেকটি উদাহরণ দেখি যেমন: a = b * 2

এই স্টেটমেন্ট এর মধ্যে কয়টি এক্সপ্রেশন আছে?

উত্তর: মোট 4 টা।

  1. 2 হল লিটারেল ভ্যালু এক্সপ্রেশন।

  2. b হল ভ্যারিয়েবল এক্সপ্রেশন।

  3. b * 2 হল এরিথমেটিক এক্সপ্রেশন।

  4. a = b * 2 হল এসাইনমেন্ট এক্সপ্রেশন।

স্টেটমেন্ট :

একটা প্রোগ্রামের মাধ্যমে আমরা কম্পিউটারকে কিছু নির্দেশনা(statement) দিয়ে থাকি যা সে এক্সিকিউট করে থাকে। প্রোগ্রামিং ল্যাঙ্গুয়েজে এই নির্দেশনাগুলোকেই স্টেটমেন্ট বলে। একটা জাভাস্ক্রিপ্ট প্রোগ্রাম ও কিছু লিস্ট অফ প্রোগ্রামিং স্টেটমেন্ট এর সমন্বয়।

কিছু উদাহরণ দেখি:

let hi = "hi there!";
if (hi > 10) {
  // More statements here
}
throw new Error('Something exploded!');

স্টেটমেন্ট এর মধ্যে কিছু জায়গায় আমরা এক্সপ্রেশন লিখে থাকি। যেমনঃ একটা ভ্যারিয়েবল ডিক্লেয়ার করার সময় আমরা এক্সপ্রেশন লিখে থাকি।

let hi = /* some expression */;

ইতিপূর্বে আমরা যতগুলা এক্সপ্রেশন দেখেছি সবগুলো এক্সপ্রেশন চাইলে এইভাবে ভ্যারিয়েবল ডিক্লারেশন এর সময় লিখতে পারি।

let hi = 1;
let hi = "hello";
let hi = 5 * 10;
let hi = num > 100;
let hi = isHappy ? "🙂" : "🙁";
let hi = [1, 2, 3].pop();

স্টেটমেন্ট এর মধ্যে ও যে আমরা এক্সপ্রেশন লিখে থাকি এই রকম আর ও কয়েকটা উদহারণ দেখি।

// Statement 1: let hi = /* expression slot */;

// Statement 2: return /* expression slot */;

// Statement 3: if (/* expression slot */) { }

সর্বশেষ যদি আবার একবার একথায় বুঝতে চাই তাহলে, এক্সপ্রেশন হল যদি কোন জাভাস্কিপ্ট কোড অথবা কোড এর অংশ আমাদেরকে কোনো ভ্যালু প্রডিউস করে তাহলে সেটা এক্সপ্রেশন এবং স্টেটমেন্ট হল একটা নির্দেশনা। একটা স্টেটমেন্ট এর মধ্যে ও এক্সপ্রেশন থাকতে পারে।

যদি আপনি এই পোষ্ট টি পুরোপুরি বুঝে থাকেন তাহলে কমেন্ট এর মাধ্যমে একটা প্রশ্নের উত্তর দিয়ে বুঝিয়ে দিন আপনি স্টেটমেন্ট এবং এক্সপ্রেশন পুরোপুরি বুঝেছেন।

প্রশ্ন: আমরা একটা ফাংশন প্যারামিটার হিসাবে যখন কোনো ডাটা দিয়ে থাকি ওই ডাটা কি স্টেটমেন্ট নাকি এক্সপ্রেশন ?

ধন্যবাদ।

0
Subscribe to my newsletter

Read articles from Abdus Sukkur directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Abdus Sukkur
Abdus Sukkur