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

তার আগে বর্তমানে জাভাস্ক্রিপ্ট এর অবস্থা দেখে নেই। বর্তমানে জাভাস্ক্রিপ্ট এর কয়েকটা ভার্শন আছে।

ইএস ৫ঃ সবচেয়ে বহুল ব্যবহৃত এবং বর্তমান সময়ের সবগুলো ব্রাউজারে কমপ্লিটলি সাপোর্টেড জাভাস্ক্রিপ্ট এর ভার্শন। ইএস ৫ তাই চোখ বন্ধ করেই ইউজ করা শুরু করতে পারবেন যেহেতু এটা সব ব্রাউজারেই কমপ্লিটলি সাপোর্টেড। তাই কম্পাটিবিলিটি নিয়ে ভাবতে হবে না।

ইএস ৬ঃ ইএস ৬ বর্তমানে জাভাস্ক্রিপ্ট ডেভেলপারদের সবচেয়ে পছন্দনীয় ভার্শন। কিন্তু সমস্যা হচ্ছে এটা এখনো সব ব্রাউজারে কমপ্লিটলি সাপোর্টেড না। তবে বেশিরভাগ ফিচারই সাপোর্ট করে এখন। কিন্তু তারপরেও যেহেতু কমপ্লিটলি সাপোর্টেড না তাই ইউজ করার ক্ষেত্রে অনেকটা সতর্ক থাকা লাগে। মাঝে মধ্যে ট্রান্সপাইলার ইউজ করে ইএস ৬ এর কোডকে ইএস ৫ এ নেওয়া লাগে।

ইএস ২০১৬, ইএস ২০১৭, ইএস ২০১৮ঃ এগুলোও জাভাস্ক্রিপ্ট নতুন ভার্শন, তবে এদের বেশীরভাগ ফিচারই বর্তমান ব্রাউজারগুলোয় সাপোর্ট করে না। তাই এগুলো সরাসরি ইউজ করা যায় না।

এখানে এই ভার্শনগুলোর মধ্যে ইএস ৫ সবচেয়ে সেইফ হলেও আপনি অনেক ফ্রেমওয়ার্কে হয়তো ইএস ৬ ব্যবহার করতে দেখবেন। তারমধ্যে বেশিরভাগ ফ্রেমওয়ার্কই আপনার কোডকে বান্ডেল করার সময় বা প্রোডাকশন ভার্শনে নিয়ে যাওয়ার সময় ব্রাউজার কম্পাটিবিলিটি নিশ্চিত করে নিয়ে যায়। সেক্ষেত্রে আপনাকে এগুলো নিয়ে ভাবতে হবে না। আপনি নিশ্চিন্তে ইএস ৬ ইউজ করতে পারবেন।

তবে কেনো ইএস ৬? ইএস ৫ এ সমস্যা কোথায়? হ্যা জাভাস্ক্রিপ্ট ডেভেলপাররা অনেক স্মার্ট। সত্যিই স্মার্ট। ইএস ৫ এ একটা কাজ অনেক লাইন কোড লিখে করতে হলেও ইএস ৬ এ অল্প কোডে, অল্প ঝামেলায় সহজেই কাজ সেরে ফেলতে পারবেন। আবার জাভাস্ক্রিপ্ট অবজেক্ট ওরিয়েন্টেড হওয়ার পরেও ইএস ৫ এর অনেক কিছু অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজের সাথে মিল নেই। আমি বিস্তারিত এই সিরিজে আলোচনা করবো একটা একটা করে। আরো সবচেয়ে বড় ব্যাপার হলো জাভাস্ক্রিপ্ট এর যত লাইব্রেরী বা ফ্রেমওয়ার্ক দেখবেন সবাই ইএস ৬ ই ইউজ করে বাই ডিফল্ট। তাই আপনার ইএস ৬ জানা থাকতে হবে। তাছাড়া আরো স্মার্টলি কাজ করতে কে না পছন্দ করে। ইএস ৬ জানুন, স্মার্ট জাভাস্ক্রিপ্ট ডেভেলপার হউন। ইএস ৬ এ নতুন যে টপিকগুলো নিয়ে আমি আলোচনা করবোঃ

  • letconst দিয়ে ভ্যারিয়েবল ডিক্লেয়ার করা
  • ইফি(Immediately Invoked Function Expressions)
  • টেমপ্লেট লিটারেল(Template Literal) ও স্ট্রিং মেথড
  • অ্যারো ফাংশন ও ‘this’ কীওয়ার্ড
  • ডি-স্ট্রাকচারিং (Destructuring)
  • অ্যারে (Array) মেথড
  • স্প্রেড অপারেটর(Spread Operator)
  • রেস্ট(Rest) প্যারামিটার
  • ডিফল্ট(Default) প্যারামিটার
  • ম্যাপ(Map)
  • ক্লাস(Class) এবং সাব-ক্লাস

এগুলো ছাড়াও আরো কিছু জিনিস আছে, তবে এগুলোই মেজর টপিক। আমি আমার এই ইএস ৬ এর লেখায় এগুলোর উপরেই ফোকাস করবো। প্রত্যেকটা ইএস ৫ এর সাথে তুলনা করে দেখানোর চেষ্টা করবো। আশা করি আপনি আগে থেকেই ইএস ৫ জানেন। আর যদি না জেনে না থাকেন তাহলে আগে ইএস ৫ কমপ্লিট করে আসতে হবে। নতুবা কিছু বুঝতে পারবেন না।

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

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


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

Comments

comments