ECMAScript 2022
JavaScript সংস্করণ নম্বর
পুরানো ECMAScript সংস্করণগুলো সংখ্যা দিয়ে পরিচিত: ES5 ও ES6。
২০১৬ সাল থেকে, সংস্করণগুলোর নাম বছর দিয়ে পরিচিত: ES2016, 2018, 2020, 2022。
ES2022-এর নতুন বৈশিষ্ট্য
- Array at()
- String at()
- RegExp /d
- Object.hasOwn()
- error.cause
- await import
- শ্রেণী ফিল্ড ঘোষণা
- বেসরকারী মেথড ও ফিল্ড
সতর্কতা:
এই বৈশিষ্ট্যগুলো অত্যন্ত নতুন
পুরানো ব্রাউজারগুলোতে প্রতিস্থাপন কোড (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(); // ত্রুটি
২০২১ সালের ৬ই জুন থেকে, সমস্ত আধুনিক ব্রাউজারে প্রাইভেট মথড এবং ফিল্ডগুলির সমর্থন রয়েছে:
চ্রোম | এডজ | ফায়ারফক্স | সাফারি | ওপেরা |
---|---|---|---|---|
চ্রোম ৭৪ | এডজ ৭৯ | ফায়ারফক্স ৯০ | সাফারি ১৪.১ | ওপেরা ৬২ |
২০১৯ সালের ৪ঠা এপ্রিল | ২০২০ সালের ১লা জানুয়ারি | ২০২১ সালের ৬ই জুন | ২০২১ সালের ৪ঠা এপ্রিল | ২০১৯ সালের ৬ই জুন |