Statements এবং Expressions এর পার্থক্য কী?

এইটা শুরুর দিকে অনেকের জন্য বেশ কনফিউজিং একটা বিষয় যে Statements আর Expressions কি একই জিনিস? নাকি এরা আলাদা। এই বিষয়টা আসলে খুবই সিম্পল। ছোট্ট এই আর্টিকেলে আমরা এই বিষয়টা নিয়ে কথা বলবো।

প্রথমেই চলেন একটা লাইন আগে দেখি JavaScript এরঃ

let myVar = num + 30;

এখানে সহজ কথায় এই পুরা লাইনটা একটা স্টেটমেন্ট। কেন? কারণ কম্পিউটার প্রোগ্রামিং এর ক্ষেত্রে স্টেটমেন্ট তখনই আমরা বলতে পারি যখন কিছু শব্দ, নাম্বার বা অপারেটর একটা সুনির্দিষ্ট কাজ করে। এখানে, num নামের একটা ভ্যারিবেলের সাথে আমরা 30 যোগ করে সেই ভ্যালুটা myVar এ Assign করছি। তারমানে একটা সুনির্দিষ্ট কাজ করছি। তাই এটা একটা স্টেটমেন্ট।

নরমালি সেমিকোলন (;) দিয়ে একটা স্টেটমেন্ট শেষ করা হয় JavaScript এ। তবে মডার্ন জাভাস্ক্রিপ্ট এ সেমিকোলন দেয়া যে ফরজ এমন না। আপনি যদি একটু খেয়াল করে দেখেন, একটা কম্পিউটার প্রোগ্রাম এমং স্টেটমেন্ট এর কালেকশন ছাড়া আর কিছুই না। প্রতিটা স্টেটমেন্ট আলাদা আলাদা কাজ করে আমাদের চাহিদা মত রেজাল্ট দিচ্ছে।

তাহলে এখন Expressions জিনিসটা কী?

এক বা একাধিক Expressions মিলে একটা স্টেটমেন্ট তৈরী হয়। এইটা আরেকটু বুঝতে আমরা আগের কোডটা আরেকবার লিখি।

let myVar = num + 30;

একটু দেখেন তো এখানে কয়টা এক্সপ্রেশন বা উপাদান মিলে এই স্টেটমেন্টটা তৈরী হয়েছে? ৪ টা! কীভাবে?

প্রত্যেকটা ভেরিয়েবল নিজে এক একটা Expression. যেগুলা ভেরিয়েবল ছাড়া ডিরেক্ট মান, যেমন এখানে আছে 30 এটাকে বলে Literal Value Expression. আবার যখন আপনি এগুলোকে কোন অপারেটরের সাথে নিয়ে কাজ করবেন তখন সেটাও একটা Expression.

তাহলে এখানে num একটা এক্সপ্রেশন, 30 একটা এক্সপ্রেশন, আবার num + 30 একটা এক্সপ্রেশন। একদম লাস্টে সব হিসাব করে যখন ভ্যালু myVar এ Assign করা হচ্ছে Assignment Operator (=) দিয়ে সেটাও একটা এক্সপ্রেশন। তাহলে মোট কয়টা হলো? এক্সাক্টলি ৪ টা!

তাহলে এখন এগুলো তো বুঝলাম। তো কিছু নাম জেনে নেই চলেন যাতে একটু Cool সাজা যায়।

এই যে আপনি num + 30 দিয়ে একটা অপারেশন চালাইলেন এটাকে বলবো আমরা Arithmetic Expression.
আবার পরে যে যোগ করে তার মানে myVar এ রাখলেন এটাকে কি বলবো? এটাকে বলবো Assignment Expression.

আরেকটা বিপদ। Expression Statement তাহলে কাকে বলে? যদি এককভাবে আপনি কোন এক্সপ্রেশন এর কথা বলেন যেমন num + 30 এটাকে আপনি Expression Statement ও বলতে পারেন।

আরো একটা এক্সপ্রেশন নিয়ে কথা বলে এক্সপ্রেশন এর ডিপ্রেশন থেকে আপনাকে বের করি। সেটা হলো Call Expression Statement! যদি আপনি একোটা ফাংশন কল করেন তাহলে সেটাকে Call Expression বলতে পারেন। যেমনঃ

alert('Hello World')

চলেন পরীক্ষার মত শেষ করি। পরিশেষে বলা যায়, Terminology জানা ভাল। এবং আমরা এই সমস্ত ছোট ছোট টার্মস জেনে বিশাল প্রোগ্রামিং শিখে ফেলবো এবং বিভিন্ন জাগায় বিগেনারদের বলে ভয় দেখাবো! হা হা। না মোটেই তা না। আমরা যে কাউকে এইসব বিষয় নিয়ে না জানলে সাহায্য করবো।

ভালোবাসা সকলের জন্য।

6 comments on “Statements এবং Expressions এর পার্থক্য কী?1 min read

  1. You have written very nicely. Although i haven’t understood all those words, cause of i have no abc knowledge about JS.

Leave a Reply

Your email address will not be published. Required fields are marked *