জাভাস্ক্রিপ্টঃ স্ট্যাটমেন্ট আর এক্সপ্রেশন

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

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

এক্সপ্রেশনঃ

নিচের উদাহরণে ১০ যোগ ১০ করা হয়েছে। এখানে ভ্যালু প্রডিউস হয়েছে যেহেতু তাই এটা এক্সপ্রেশনঃ

10 + 10;

এক্সপ্রেশন সাধারণত এক লাইনের কোড হয়। পাশাপাশি আরো অনেক কিছু অ্যাড করা যেতে পারে, কিন্তু দিন শেষে একটা একটা ভ্যালু সে প্রডিউস করবেই। নিচের উদাহরণগুটাও এক্সপ্রেশনঃ

'Zonayed' + ' ' + 'Ahmed';

আরো উদাহরনঃ

2 + 2
3 * 7
1 + 2 + 3 * (8 ** 9) - Math.sqrt(4.0)
min(2, 22)
max(3, 94)
round(81.5)
'Zonayed'
'Ahmed'
'Zonayed' + 'Ahmed'
null
true
talse
2
3
4.0

কিন্তু যখনি আবার এই ভ্যালুগুলো কোথাও অ্যাসাইন করতে যাবেন, তখন সেটা স্টেটমেন্ট হিসেবে গণ্য হবে। যেমন নিচের এই পুরোটা একটা স্টেটমেন্টঃ

var assignValue = 10 + 10;

স্ট্যাটমেন্টঃ

আর অন্যদিকে স্ট্যাটমেন্ট জাস্ট কিছু অ্যাকশন নিবে। যেমন লুপ, কন্ডিশনাল স্ট্যাটমেন্টসহ আরো অনেক কিছুঃ

if(10 < 20) {
   console.log('Yeah! It is true');
} else {
   console.log('No! It is not True');
}

উপরের এটা জাস্ট অ্যাকশন নিচ্ছে। ভিতরে থাকা এক্সপ্রেশন অনুযায়ী, সত্য না মিথ্যা হবে সেটার উপর ভিত্তি করে পার্টিকুলার পার্ট প্রিন্ট করছে। সেইমভাবে অন্য সবগুলোওঃ

for(expressions) {
   //Some Code here
}
do {
   //Some code here
} while(expression);
while(expression) {
   //Some code here
}

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

বিভিন্নরকম ফাংশনঃ

আমরা জানি ফাংশনকেও ভ্যারিয়েবলে স্টোর করা যায়। এখন ফাংশনকে যদি ভ্যারিয়েবলে স্টোর করি তাহলে সেটা কি হবে? এক্সপ্রেশন নাকি স্ট্যাটমেন্ট? হ্যা আমার কথামতো সেটা এক্সপ্রেশনই হবে।

ফাংশন এক্সপ্রেশনঃ

এভাবে ফাংশন নিয়ে সেটা কোনো ভ্যারিয়েবলে স্টোর করলে সেটা ফাংশন এক্সপ্রেশন হবেঃ

var someFunc = function(params) {
   //Some code here
}

ফাংশন স্ট্যাটমেন্টঃ

আর নরমালভাবে ফাংশন নিলে সেটা ফাংশন স্ট্যাটমেন্ট হবেঃ

function sumFunc(params) {
   //Some Code here
}

আশা করি এবার স্ট্যাটমেন্ট আর এক্সপ্রেশন এই দুইটা ব্যাপার একদম ক্লিয়ার হয়ে গেছে। আজকে এই পর্যন্তই।


আমার নতুন ব্লগ পোস্ট গুলোর আপডেট পেতে আপনি আপনার ইমেইল দিয়ে আমার ব্লগ পোস্টগুলো সাবস্ক্রাইব করে রাখতে পারেন, নতুন পোস্টগুলো সপ্তাহে একদিন আপনার ইনবক্সে চলে যাবে

আপনার মন্তব্যঃ

যদি এই পোস্টে কোন ভুল(যেকোনো ধরনের) পেয়ে থাকেন অথবা কোনো ব্যাপারে সন্দেহ থাকে তাহলে এখানে জানাতে পারবেন।

জাভাস্ক্রিপ্ট ব্যাসিক down-arrow

জাভাস্ক্রিপ্ট অ্যাডভান্স down-arrow

জাভাস্ক্রিপ্ট ইএস৬ down-arrow

জাভাস্ক্রিপ্ট ডম ম্যানিপুলেশন down-arrow

নিত্যদিনের জাভাস্ক্রিপ্ট down-arrow

জাভাস্ক্রিপ্ট অ্যালগরিদম ও ডাটা স্ট্রাকচার down-arrow

জাভাস্ক্রিপ্ট সফট স্কিল down-arrow