ECMAScript 2022

ECMAScript 2022 নতুন বৈশিষ্ট্য জানুন

ECMAScript 2022

জাভাস্ক্রিপ্ট 2022-এ নতুন বৈশিষ্ট্য

মার্চ 2023 থেকে সমস্ত আধুনিক ব্রাউজারে সমর্থিত।

বৈশিষ্ট্য ব্যাখ্যা
Array at() একটি অ্যারে থেকে সূচীকৃত উপাদান প্রদান করে
String at() একটি স্ট্রিং থেকে সূচীকৃত উপাদান প্রদান করে
RegExp /d সাবস্ট্রিং মিলগুলি সম্পাদন করে
Object.hasOwn() যাচাই করে যে একটি বৈশিষ্ট্য একটি বস্তুর একটি নিজস্ব বৈশিষ্ট্য
error.cause আপনাকে একটি ত্রুটির পিছনে কারণ নির্দিষ্ট করার অনুমতি দেয়৷
await import জাভাস্ক্রিপ্ট মডিউলগুলি চালানোর আগে আমদানির প্রয়োজন এমন সংস্থানগুলির জন্য অপেক্ষা করার অনুমতি দেয়৷
Class field declarations একটি শ্রেণীর মধ্যে সরাসরি বৈশিষ্ট্য সংজ্ঞায়িত করার অনুমতি দেয়
Private methods and fields ব্যক্তিগত বৈশিষ্ট্যের অনুমতি দেয় (#পদ্ধতি এবং #ক্ষেত্র)

ব্রাউজার সমর্থন

ECMAScript 2022 সমস্ত আধুনিক ব্রাউজারে 2023 সালের মার্চ পর্যন্ত সমর্থিত:

Chrome Edge Firefox Safari Opera
94 94 93 16.4 80
সেপ্টেম্বর 2021 সেপ্টেম্বর 2021 অক্টোবর 2021 মার্চ 2023 অক্টোবর 2021

JavaScript Array at()

ES2022 সাজানোর পদ্ধতিat()এর দ্বারা প্রবর্তিত:

উদাহরণ

ফলের তৃতীয় উপাদান পান:

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

ফলের তৃতীয় উপাদান পান:

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

at()পদ্ধতিটি একটি অ্যারে থেকে সূচীকৃত উপাদান প্রদান করে।

at()পদ্ধতি[]একই ফেরত দেবে।

at()এই পদ্ধতিটি 2022 সালের মার্চ পর্যন্ত সমস্ত আধুনিক ব্রাউজারে সমর্থিত:

📝দ্রষ্টব্য:

অনেক ভাষা একটি অবজেক্ট/অ্যারে/স্ট্রিং এর শেষ থেকে উপাদানগুলিতে অ্যাক্সেসের অনুমতি দেয়[-1]মত নেতিবাচক বন্ধনী অনুমতি দিন

এটি জাভাস্ক্রিপ্টে সম্ভব নয় কারণ[]অ্যারে এবং অবজেক্ট উভয় অ্যাক্সেস করতে ব্যবহৃত হয়।obj[-1]চিহ্নটি -1 এর মান উপস্থাপন করে, বস্তুর শেষ বৈশিষ্ট্য নয়।

এই সমস্যার সমাধান করতে ES2022 এat()পদ্ধতি চালু করা হয়।

JavaScript String at()

ES2022 স্ট্রিং পদ্ধতিat()এর দ্বারা প্রবর্তিত:

উদাহরণ

নামের তৃতীয় অক্ষর পান:

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

নামের তৃতীয় অক্ষর পান:

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

at()পদ্ধতিটি একটি স্ট্রিং থেকে সূচীকৃত উপাদান প্রদান করে।

at()পদ্ধতি[]একই ফেরত দেবে।

RegExp d সংশোধক

ES2022 মিলের শুরু এবং শেষ প্রকাশ করতে/dসংশোধক যোগ করা হয়েছে.

উদাহরণ

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

RegExp সংশোধক কেস-অসংবেদনশীল, এবং অন্যান্য বিশ্বব্যাপী অনুসন্ধানগুলি নির্দিষ্ট করতে ব্যবহৃত হয়:

কনভার্টার ব্যাখ্যা
i একটি কেস-সংবেদনশীল ম্যাচ সম্পাদন করে
g একটি বিশ্বব্যাপী ম্যাচ সম্পাদন করে (সমস্ত খুঁজুন)
m একাধিক লাইন ম্যাচিং সম্পাদন করে
d সাবস্ট্রিং ম্যাচগুলি সম্পাদন করে (ES2022 এ নতুন)

Object hasOwn

ES2022 নিরাপদে পরীক্ষা করার একটি উপায় প্রদান করে যে একটি বৈশিষ্ট্য একটি বস্তুর একটি নেটিভ বৈশিষ্ট্য।

Object.hasOwn()হয়Object.hasOwnProperty()পছন্দ কিন্তু সব ধরনের অবজেক্ট সমর্থন করে।

উদাহরণ

Object.hasOwn(myObject, age)

ত্রুটির কারণ

ECMAScript 2022 থেকে শুরু করে, Error Constructor (এবং এর সাবক্লাস TypeError, SyntaxError, ইত্যাদি) ঐচ্ছিক।{cause}বৈশিষ্ট্য সমর্থন.

এটি আপনাকে চেইন ত্রুটি তৈরি করতে দেয় - একটি ত্রুটি যা অন্যটি ঘটতে পারে।

উদাহরণ (আগে)

try {
  // Create a JSON parse failure
  JSON.parse("blablablabla");
} catch(err) {
  let text = err.name + " " + err.message;
}

উদাহরণ (এখন)

try {
  try {
    // Create a JSON parse failure
    JSON.parse("blablablabla");
  } catch(err) {
    // Create a new error and include the original one as the cause
    throw new Error("Failed to load JSON", {cause:err});
  }
} catch(err){
  let text = err.name + " " + err.message;
  document.getElementById("demo").innerHTML = text;
}

JavaScript await import

জাভাস্ক্রিপ্ট মডিউলগুলি এখন চালানোর আগে আমদানি প্রয়োজন এমন সংস্থানগুলির জন্য অপেক্ষা করতে পারে:

import {myData} from './myData.js';

const data = await myData();

জাভাস্ক্রিপ্ট ক্লাস ফিল্ড ঘোষণা

class Hello {
  counter = 0; // Class field
}
const myClass = new Hello();

let x = myClass.counter;

জাভাস্ক্রিপ্ট ব্যক্তিগত পদ্ধতি এবং ক্ষেত্র

class Hello {
  #counter = 0;  // Private field
  #myMethod() {} // Private method
}
const myClass = new Hello();

let x = myClass.#counter; // Error
myClass.#myMethod();      // Error

🔒ব্যক্তিগত বৈশিষ্ট্য:

# উপসর্গ সহ ব্যক্তিগত ক্ষেত্র এবং পদ্ধতিগুলি ক্লাসের বাইরে অ্যাক্সেসযোগ্য নয়। এটি সংযোগ উন্নত করে এবং ডেটা ব্যাকআপ প্রদান করে।

ECMAScript 2022 টিউটোরিয়াল

এই টিউটোরিয়ালটি আপনাকে ECMAScript 2022 নতুন বৈশিষ্ট্য সম্পর্কে আপনার জ্ঞান পরীক্ষা করতে সাহায্য করবে।

নিম্নলিখিত ECMAScript 2022 বৈশিষ্ট্যগুলির মধ্যে কোনটি নেতিবাচক সূচক ব্যবহার করে অ্যারের শেষ থেকে উপাদানগুলি পুনরুদ্ধার করতে দেয়?

Object.hasOwn()
✗ ভুল! Object.hasOwn() চেক করে যে একটি বৈশিষ্ট্য একটি বস্তুর নিজস্ব বৈশিষ্ট্য, নেতিবাচক সূচক অ্যাক্সেস প্রদান করে না
Array.at() String.at()
✓ ঠিক আছে! Array.at() এবং String.at() পদ্ধতি নেতিবাচক সূচক ব্যবহার করে অ্যারে/স্ট্রিং এর শেষ থেকে উপাদান পেতে অনুমতি দেয়
RegExp /d সংশোধক
✗ ভুল! RegExp /d সুইচ সাবস্ট্রিং ম্যাচগুলি সম্পাদন করে, নেতিবাচক সূচক অ্যাক্সেস নয়
error.cause
✗ ভুল! error.cause চেইন ত্রুটি তৈরি করতে দেয়, নেতিবাচক সূচক অ্যাক্সেস প্রদান করে না