JavaScript হলো একটি scripting অথবা programming language যা সাধারনত কোন ওয়েবসাইটে ব্যবহার করা হয়। এই language কে আবার client-side scripting language ও বলা হয় কারণ এর সোর্স কোড গুলো process হয় Client এর web browser দিয়ে।
JavaScript language টি লিখতে হলে বা চালাতে হলে কোন web server এর প্রয়োজন নেই।
server-side scripting languages যেমন- PHP and ASP এর মতো আপনি JavaScript এর কোড সরাসরি আপনার ওয়েবপেজের HTML Code এ লিখতে পারবেন। তবে server-side scripting languages এর কোড লিখার পর আমরা যখন কোন Web Browser এ দেখি তখন তা একটি HTML আকারে দেখায় মানে আপনি যদি আপনার ওয়েবসাইটের Source Code দেখেন তাহলে শুধুমাত্র HTML কোড দেখতে পারবেন কিন্তু JavaScript এ্র ক্ষেত্রে একটু ভিন্ন মানে আপনি যা লিখেছিলেন তাই দেখতে পারবেন।
JavaScript এর প্রথমে নাম ছিল LiveScript যা কিনা ১৯৯৫ সালে তৈরী করা হয়েছিল কিন্তু পরবর্তীতে Netscape এই নামটি পরিবর্তন করে JavaScript রেখেছে।
JavaScript এর সুবিধা
JavaScript ব্যবহার করার কিছু সুবধিা রয়েছে। যেমন-
১। server এর সাথে আপনার Web Application এর যোগাযোগ টা কম হয় – মানে JavaScript এর মাধ্যমে আপনি কোন একটি ফর্মের ডাটাকে server এর নিকট পাঠানোর আগে validate করতে পারবেন যে এই ফর্মের সকল ডাটাকে কি পূরণ হয়েছে কি না। এতে করে আপনার server এর traffic টি কমে যাবে মানে server এর সাথে যোগাযোগটি কম হবে।
২। আপনি সাথে সাথেই কোন একটি মেসেজ ইউজারকে দেখাতে পারবেন। মানে ইউজার যদি ওয়বেসাইটে কোন কিছু পূরণ করতে ভুলে যায় আপনি সাথে সাথেই একটি মেসেজ দেখাতে পারবেন। সম্পূর্ণ পেজটি লোড হওয়ার জন্য আপনাকে অপেক্ষা করতে হবে না।
৩। JavaScript এর মাধ্যমে আপনি বিভিন্ন রকম interfaces তৈরী করতে পারবেন যেগুলো বিভিন্ন প্রকার JavaScript Event এ কাজ করবে।
৪। drag-and-drop components অথবা বিভিন্ন রকম slider ও আপনি এই JavaScript দিয়ে তৈরী করতে পারবেন।
৫। JavaScript এর মাধ্যমে আপনি HTML Document এর Content কে পরিবর্তন করতে পারবেন।
৬। JavaScript এর মাধ্যমে আপনি HTML Attribute এর Value পরিবর্তন করতে পারবেন।
৭। আমরা CSS দিয়ে যে design করে থাকি তা আপনি JavaScript দিয়ে পরিবর্তন করতে পারবেন।
৮। কোন HTML Elements কে সহজেই দেখাতে বা অদৃশ্য করতে পারবেন।
৯। কোন একটি remote server এ request পাঠাতে পারবেন, কোন ফাইল download বা upload করতে পারবেন (AJAX এর মাধ্যমে)।
১০। এবং আরো অনেক সুবধিা তো রয়েছেই…
JavaScript এর কিছু বাধ্যবাধকতা
প্রত্যেকটি Programing Language এর মতো JavaScript এরও কিছু বাধ্যবাধকতা আছে মানে JavaScript দিয়ে কি করতে পারবেন না। চলুন কয়েকটি জেনে আসি-
১। আপনি JavaScript এর মাধ্যমে কোন ফাইল পড়তে এবং লিখতে পারবেন না। security এর জন্য এই feature টি নেই।
২। কোন নেটওয়ার্ক সম্পর্কিত Application এর জন্য JavaScript ব্যবহার করতে পারবেন না।
৩। JavaScript এ কোন Multi-threading বা Multiprocessor capability feature টি নেই।
JavaScript Engine
বর্তমানে JavaScript শুধুমাত্র browser এ execute করতে পারে তা কিন্তু না বরং কোন server বা অন্য কোন device এও execute হতে পারে মানে চলতে পারে। আর সে জন্য শুধু একটি JavaScript Engine লাগবে।
Web Browser এ আগে থেকেই JavaScript Engine থাকে যাকে আবার JavaScript virtual machine ও বলা হয়ে থাকে। এই সব JavaScript Engine এর আবার বিভিন্ন Web Browser এ বিভিন্ন নাম রয়েছে। যেমন-
১। V8 ( Chrome এবং Opera ব্রাউজারের জন্য )।
২। SpiderMonkey ( Firefox ব্রাউজারের জন্য )।
৩। Trident এবং Chakra ( IE ব্রাউজারের জন্য ), ChakraCore ( Microsoft Edge ব্রাউজারের জন্য)।
৪। Nitro এবং SquirrelFish ( Safari ব্রাউজারের জন্য )।
JavaScript Engine কিভাবে কাজ করে?
JavaScript Engine কিভাবে কাজ করে তা বলতে গেলে অনেক কিছু বলা লাগবে তবে সাধারন ভাবে বলা যায় এভাবে –
১। JavaScript Engine প্রথমে আপনার JavaScript Code পড়বে মানে parse করবে।
২। তারপর আপনার JavaScript Code কে পরিবর্তন করে মানে compile করে একটি machine language এ নিয়ে আসবে।
৩। তারপর এই machine language টিই আপনার কাজ করবে।
JavaScript এর ভার্সন সমূহ
সর্বপ্রথ JavaScript ১৯৯৫ সালে Brendan Eich নামে একজন ব্যক্তি আবিষ্কার করেছিল।
ECMAScript হলো JavaScript এর অফিসিয়াল নাম এবং এই ECMAScript কে আবার ES ও বলা হয়ে থাকে।
এ পর্যন্ত JavaScript এর সর্বমোট ৯টি ভার্সন বের হয়েছে। চলুন দেখে আসি-
ভার্সন ১
অফিসিয়াল নাম – ECMAScript 1 (1997)
ভার্সন ২
অফিসিয়াল নাম – ECMAScript 2 (1998)
ভার্সন ৩
অফিসিয়াল নাম – ECMAScript 3 (1999)
ভার্সন ৪
অফিসিয়াল নাম – ECMAScript 4
ভার্সন ৫
অফিসিয়াল নাম – ECMAScript 5 (2009)
ভার্সন ৫.১
অফিসিয়াল নাম – ECMAScript 5.1 (2011)
ভার্সন ৬
অফিসিয়াল নাম – ECMAScript 2015
ভার্সন ৭
অফিসিয়াল নাম – ECMAScript 2016
ভার্সন ৮
অফিসিয়াল নাম – ECMAScript 2017
ভার্সন ৯
অফিসিয়াল নাম – ECMAScript 2018