ECMAScript 2022

JavaScript সংস্করণ নম্বর

পুরানো ECMAScript সংস্করণগুলো সংখ্যা দিয়ে পরিচিত: ES5 ও ES6。

২০১৬ সাল থেকে, সংস্করণগুলোর নাম বছর দিয়ে পরিচিত: ES2016, 2018, 2020, 2022。

ES2022-এর নতুন বৈশিষ্ট্য

সতর্কতা:

এই বৈশিষ্ট্যগুলো অত্যন্ত নতুন

পুরানো ব্রাউজারগুলোতে প্রতিস্থাপন কোড (Polyfill) প্রয়োজন

JavaScript Array at()

ES2022-এ আইনসংকল্প মেথড প্রবর্তন করা হয়েছে at()

উদাহরণ 1

fruits আইনসংকল্পের তৃতীয় ইটম পাওয়া হবে:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits.at(2);

আপনার নিজেই চেষ্টা করুন

উদাহরণ 2

fruits আইনসংকল্পের তৃতীয় ইটম পাওয়া হবে:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[2];

আপনার নিজেই চেষ্টা করুন

at() এই মেথডটি আইনসংকল্প থেকে নির্দিষ্ট ইনডেক্সের ইটম ফিরায়

at() পদ্ধতি [] ফলাফল একইভাবে পাওয়া যায়

2022 সালের ৩য় মাস থেকে, সমস্ত আধুনিক ব্রাউজারে at() পদ্ধতি:

চ্রোম এডজ ফায়ারফক্স সাফারি ওপেরা
Chrome 92 Edge 92 ফায়ারফক্স ৯০ Safari 15.4 Opera 78
২০২১ সালের ৪ঠা এপ্রিল 2021 সালের ৭ই জুলাই 2021 সালের ৭ই জুলাই 2022 সালের ৩য় মাস 2021 সালের ৮ই আগস্ট

প্রত্যহরণ:

অনেক ভাষায় নেগেটিভ ইনডেক্স ব্যবহার করা যায় (যেমন [-1])জিনিসপত্র/আইনসংকল্প/স্ট্রিং-এর শেষ ইটম পড়া

এটি JavaScript-এ সম্ভব নয় কারণ [] এটি একসঙ্গে আইনসংকল্প ও জিনিসপত্র পড়ার জন্য ব্যবহৃত হয়। obj[-1] এটি ক্রমিক সংখ্যা -1-এর মান নয়, বরং জিনিসপত্রের শেষ গুণমান নয়。

at() এই সমস্যা সমাধান করার জন্য এই মেথডটি ES2022-এ প্রবর্তন করা হয়েছে。

JavaScript String at()

ES2022-এ স্ট্রিং মেথড প্রবর্তন করা হয়েছে at()

উদাহরণ 1

নাম স্ট্রিংয়ের তৃতীয় অক্ষর পাওয়া হবে:

const name = "W3Schools";
let letter = name.at(2);

আপনার নিজেই চেষ্টা করুন

উদাহরণ 2

নাম স্ট্রিংয়ের তৃতীয় অক্ষর পাওয়া হবে:

const name = "W3Schools";
let letter = name[2];

আপনার নিজেই চেষ্টা করুন

at() পদ্ধতি থেকে স্ট্রিং থেকে নির্দিষ্ট ইন্ডেক্সের অক্ষর ফিরিয়ে দেয়

at() পদ্ধতি [] ফলাফল একইভাবে পাওয়া যায়

2022 সালের ৩য় মাস থেকে, সমস্ত আধুনিক ব্রাউজারে at() পদ্ধতি:

চ্রোম এডজ ফায়ারফক্স সাফারি ওপেরা
Chrome 92 Edge 92 ফায়ারফক্স ৯০ Safari 15.4 Opera 78
২০২১ সালের ৪ঠা এপ্রিল 2021 সালের ৭ই জুলাই 2021 সালের ৭ই জুলাই 2022 সালের ৩য় মাস 2021 সালের ৮ই আগস্ট

RegExp d সজ্জকরণ

ES2022-এর মাধ্যমে /d সজ্জকরণ, যার মাধ্যমে ম্যাচিংয়ের ভাবনা ও শেষ সীমা নির্দিষ্ট করা হয়

প্রকল্প

let text = "aaaabb";
let result = text.match(/(aa)(bb)/d);

আপনার নিজেই চেষ্টা করুন

RegExp সজ্জকরণ ব্যবহার করা হয় যাতে নির্দিষ্ট করা হয় অসমান হারফের ম্যাচিং এবং অন্যান্য সার্চ

সজ্জকরণ বর্ণনা চেষ্টা করুন
g সমগ্র ম্যাচিং (সমস্ত নিহিত সার্চ খুঁজুন) চেষ্টা করুন
i বৈধতা নির্দিষ্ট নয় চেষ্টা করুন
d সাব-স্ট্রিং ম্যাচিং (ES2022-এর মাধ্যমে নতুন যোগ করা) চেষ্টা করুন
m বহুল লাইন ম্যাচিং চেষ্টা করুন

Object.hasOwn()

ES2022-এর মাধ্যমে প্রতিটি প্রকৃত ওবজেক্ট অপেক্ষা করতে একটি নিরাপদ পদ্ধতি প্রদান করে

Object.hasOwn() অনুরূপ Object.prototype.hasOwnPropertyকিন্তু সমস্ত ওবজেক্ট টাইপকেও সমর্থন করে

প্রকল্প

Object.hasOwn(myObject, age)

আপনার নিজেই চেষ্টা করুন

Error Cause

ES2022-এর মাধ্যমে error.cause-এর মাধ্যমে ত্রুটির মৌলিক কারণ নির্দিষ্ট করা হয়।

প্রকল্প

connectData(); 
  catch (err) { 
} 
  throw new Error("Connecting failed.", { cause: err }); 
}

আপনার নিজেই চেষ্টা করুন

JavaScript await import

JavaScript মডিউল এখন আসুনা পূর্বে প্রয়োজনীয় ইমপোর্ট রিসোর্স অপেক্ষা করতে পারে:

import {myData} from './myData.js';
const data = await myData();

JavaScript ক্লাস ফিল্ড ঘোষণা

class Hello {
  counter = 0; // ক্লাস ফিল্ড
}
const myClass = new Hello();
let x = myClass.counter;

2021 সালের ৪লা এপ্রিল থেকে, সমস্ত আধুনিক ব্রাউজারে ক্লাস ফিল্ড ঘোষণা সমর্থিত হয়েছে:

চ্রোম এডজ ফায়ারফক্স সাফারি ওপেরা
Chrome 72 এডজ ৭৯ Firefox 69 সাফারি ১৪.১ Opera 60
2019 সালের ১লা জানুয়ারি ২০২০ সালের ১লা জানুয়ারি 2019 সালের ৯ই সেপ্টেম্বর ২০২১ সালের ৪ঠা এপ্রিল ২০২০ সালের ১লা জানুয়ারি

জেভাস্ক্রিপ্ট প্রাইভেট মথড এবং ফিল্ড

class Hello {
  #counter = 0;  // প্রাইভেট ফিল্ড
  #myMethod() {} // প্রাইভেট মথড
}
const myClass = new Hello();
let x = myClass.#counter; // ত্রুটি
myClass.#myMethod();      // ত্রুটি

২০২১ সালের ৬ই জুন থেকে, সমস্ত আধুনিক ব্রাউজারে প্রাইভেট মথড এবং ফিল্ডগুলির সমর্থন রয়েছে:

চ্রোম এডজ ফায়ারফক্স সাফারি ওপেরা
চ্রোম ৭৪ এডজ ৭৯ ফায়ারফক্স ৯০ সাফারি ১৪.১ ওপেরা ৬২
২০১৯ সালের ৪ঠা এপ্রিল ২০২০ সালের ১লা জানুয়ারি ২০২১ সালের ৬ই জুন ২০২১ সালের ৪ঠা এপ্রিল ২০১৯ সালের ৬ই জুন