২৪ সেপ্টেম্বর, ২০২২
পড়তে মিনিট লাগতে পারে

জাভাস্ক্রিপ্ট ইএস ৬(ES6): নতুন কি আছে?

শেয়ার করুনঃ

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

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

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

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

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

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

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

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

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

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

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

ট্যাগঃ
শেয়ার করুনঃ

ক্রমানুসারে এই জাভাস্ক্রিপ্ট সিরিজঃ

জাভাস্ক্রিপ্ট ব্যাসিক
জাভাস্ক্রিপ্টঃ কি, কেন, কখন? জাভাস্ক্রিপ্টঃ কোথায় এবং কিভাবে ইউজ করা হয়? জাভাস্ক্রিপ্টঃ ব্যাসিক ক্রোম ডেভেলপার কন্সোল জাভাস্ক্রিপ্টঃ ভ্যারিয়েবল এবং ডাটা টাইপ জাভাস্ক্রিপ্টঃ অপারেটর নিয়ে সবকিছু জাভাস্ক্রিপ্টঃ কন্ডিশনাল স্টেটমেন্ট নিয়ে সবকিছু জাভাস্ক্রিপ্টঃ লুপ নিয়ে সবকিছু জাভাস্ক্রিপ্টঃ অ্যারে নিয়ে সবকিছু জাভাস্ক্রিপ্টঃ ব্যাসিক অবজেক্ট জাভাস্ক্রিপ্টঃ ব্যাসিক ফাংশন জাভাস্ক্রিপ্টঃ স্টেটমেন্ট আর এক্সপ্রেশন জাভাস্ক্রিপ্টঃ ড্রাই প্রিন্সিপ্যাল জাভাস্ক্রিপ্টঃ নাকি ইকমাস্ক্রিপ্ট? জাভাস্ক্রিপ্টঃ বিহ্যাইন্ড দ্যা সীন জাভাস্ক্রিপ্টঃ হোইস্টিং(Hoisting) নিয়ে ধারণা জাভাস্ক্রিপ্টঃ স্কোপ(Scope) নিয়ে ধারণা জাভাস্ক্রিপ্টঃ ক্লোজারস(Closures) নিয়ে ধারণা জাভাস্ক্রিপ্টঃ ইফি, Immediately Invoked Function Expressions (IIFE)
জাভাস্ক্রিপ্ট অ্যাডভান্স
জাভাস্ক্রিপ্ট অ্যাডভান্সঃ ‘this’ কীওয়ার্ড জাভাস্ক্রিপ্ট অ্যাডভান্সঃ call(), bind() এবং apply() মেথড জাভাস্ক্রিপ্ট অ্যাডভান্সঃ অবজেক্ট ওরিয়েন্টেড জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট অ্যাডভান্সঃ ফাংশন কন্সট্রাকটর(Constructor) এবং ‘new’ কীওয়ার্ড জাভাস্ক্রিপ্ট অ্যাডভান্সঃ ইনহেরিট্যান্স (Inheritance) জাভাস্ক্রিপ্ট অ্যাডভান্সঃ স্ট্রিক্ট (Strict) মোড
জাভাস্ক্রিপ্ট ইএস ৬(ES6)
জাভাস্ক্রিপ্ট ইএস ৬(ES6): নতুন কি আছে? জাভাস্ক্রিপ্ট ইএস ৬(ES6): let এবং const দিয়ে ভ্যারিয়েবল ডিক্লেয়ার করা জাভাস্ক্রিপ্ট ইএস ৬(ES6):ইফি (Immediately Invoked Function Expressions) জাভাস্ক্রিপ্ট ইএস ৬(ES6): টেমপ্লেট লিটারেল(Template Literal) ও স্ট্রিং মেথড জাভাস্ক্রিপ্ট ইএস ৬(ES6): অ্যারো (Arrow) ফাংশন ও লেক্সিক্যাল(Lexical) ‘this’ কীওয়ার্ড জাভাস্ক্রিপ্ট ইএস ৬(ES6): অ্যারে জাভাস্ক্রিপ্ট ইএস ৬(ES6): স্প্রেড(Spread) অপারেটর জাভাস্ক্রিপ্ট ইএস ৬(ES6): ডি-স্ট্রাকচারিং (Destructuring) জাভাস্ক্রিপ্ট ইএস ৬(ES6): রেস্ট(Rest) প্যারামিটার জাভাস্ক্রিপ্ট ইএস ৬(ES6): ডিফল্ট(Default) প্যারামিটার জাভাস্ক্রিপ্ট ইএস ৬(ES6): ম্যাপ (Map) জাভাস্ক্রিপ্ট ইএস ৬(ES6): ক্লাস (Class) জাভাস্ক্রিপ্ট ইএস ৬(ES6): ক্লাস ও ইনহেরিট্যান্স (Inheritance) জাভাস্ক্রিপ্ট ইএস ৬(ES6): সব ইনভারোমেন্ট এ ইএস৬
নিত্যদিনের জাভাস্ক্রিপ্ট
নিত্যদিনের জাভাস্ক্রিপ্টঃ ফার্স্ট ক্লাস ফাংশন ও হাইয়ার অর্ডার ফাংশন নিত্যদিনের জাভাস্ক্রিপ্টঃ map(), filter() ও reduce() নিত্যদিনের জাভাস্ক্রিপ্টঃ some() ও every() মেথড নিত্যদিনের জাভাস্ক্রিপ্টঃ অবজেক্ট এ লুপ চালানো নিত্যদিনের জাভাস্ক্রিপ্টঃ ডট নোটেশন এবং ব্র্যাকেট নোটেশন নিত্যদিনের জাভাস্ক্রিপ্টঃ ম্যাথ (Math) অবজেক্ট নিত্যদিনের জাভাস্ক্রিপ্টঃ ডেট (Date) অবজেক্ট নিত্যদিনের জাভাস্ক্রিপ্টঃ লজিক্যাল অপারেটর অর (।।) এবং অ্যান্ড (&&) নিত্যদিনের জাভাস্ক্রিপ্টঃ কন্ডিশনাল/টার্নারি (Ternary) অপারেটর নিত্যদিনের জাভাস্ক্রিপ্টঃ রেগুলার এক্সপ্রেশন (Regular Expression) নিত্যদিনের জাভাস্ক্রিপ্টঃ এরর হ্যান্ডলিং (Error Handling) নিত্যদিনের জাভাস্ক্রিপ্টঃ ডেভেলপার কন্সোল (Console) নিত্যদিনের জাভাস্ক্রিপ্টঃ অ্যাসিনক্রোনাস (Asynchronous) নিত্যদিনের জাভাস্ক্রিপ্টঃ কলব্যাক(Callback) ফাংশন নিত্যদিনের জাভাস্ক্রিপ্টঃ প্রমিস (Promise) নিত্যদিনের জাভাস্ক্রিপ্টঃ async এবং await