ECMAScript 2018
ECMAScript 2018 (ইএস9 নামেও পরিচিত) হল জাভাস্ক্রিপ্ট ভাষার 9তম সংস্করণ। এটি 2018 সালে প্রকাশিত হয়েছিল এবং অ্যাসিঙ্ক্রোনাস ডেরিভেশন, প্রতিশ্রুতি চূড়ান্ততা এবং নতুন RegExp বৈশিষ্ট্য সহ বেশ কয়েকটি নতুন বৈশিষ্ট্য প্রবর্তন করেছে।
এই টিউটোরিয়ালে, আপনি ES2018-এ প্রবর্তিত সমস্ত গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি শিখবেন।
জাভাস্ক্রিপ্ট 2018-এ নতুন বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| Asynchronous Iteration | লুপগুলির জন্য/অপেক্ষা করুন কীওয়ার্ড ব্যবহারের অনুমতি দেয় |
| Promise Finally | একটি প্রতিশ্রুতি "পূর্ণ" বা "প্রত্যাখ্যান" হলে চালানোর জন্য একটি কর্ম নির্ধারণ করে। |
| Array Rest Elements | আপনাকে একটি সারি সাফ করতে এবং বাকিগুলি সংগ্রহ করতে দেয়৷ |
| Object Rest Properties | আপনি একটি বস্তু ধ্বংস এবং বাকি সংগ্রহ করতে পারবেন |
| Shared Memory | একটি প্রোগ্রামের বিভিন্ন অংশকে একই মেমরি অ্যাক্সেস করার অনুমতি দেয় |
2018 সালে নতুন RegExp বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| /s | . (ডট) মেটা অক্ষরটি লাইন টার্মিনেটরকে ম্যাচিং করার অনুমতি দেয় |
| \p{} | একটি ইউনিকোড অক্ষর বৈশিষ্ট্যের সাথে একটি অক্ষর মেলে |
| (?<=y) | যদি "y" এর আগে "x" হয় তাহলে (?<=y)x "x" এর সাথে মেলে। |
| (?<!y) | (?<!y)x "x" এর সাথে মেলে যদি না "x" "y" এর আগে না থাকে। |
| (?<name>) | পাঠ্য ধরে রাখে এবং নাম দেয় (লেবেল)। |
ব্রাউজার সমর্থন
ECMAScript 2018 জুন 2020 পর্যন্ত সমস্ত আধুনিক ব্রাউজারে সমর্থিত:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 64 | 79 | 78 | 12 | 51 |
| জানুয়ারী 2018 | জানুয়ারী 2020 | জুন 2020 | সেপ্টেম্বর 2018 | ফেব্রুয়ারী 2018 |
JavaScript Asynchronous Iteration
ECMAScript 2018 অ্যাসিঙ্ক্রোনাস ইটারেটর এবং টেরেবল যোগ করেছে।
অ্যাসিঙ্ক্রোনাস Terbles-এর সাহায্যে, আমরা await কীওয়ার্ড in for/of loops ব্যবহার করতে পারি।
উদাহরণ
for await () {}
JavaScript Promise.finally()
ECMAScript 2018 Promise.finally এর সাথে প্রতিশ্রুতি অবজেক্টের সম্পূর্ণ বাস্তবায়ন চূড়ান্ত করে:
Promise.finally() promise .
উদাহরণ
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
JavaScript Array Rest Elements
ECMAScript 2018 বাকি অপারেটর (...) যোগ করেছে।
রেস্ট অপারেটর (...) আমাদের একটি অ্যারে সাফ করতে এবং অবশিষ্ট সংগ্রহ করতে দেয়:
উদাহরণ 1
let a, rest;
const arr1 = [1,2,3,4,5,6,7,8];
[a, ...rest] = arr1;
উদাহরণ 2
let a, b, rest;
const arr1 = [1,2,3,4,5,6,7,8];
[a, b, ...rest] = arr1;
JavaScript Object Rest Properties
ECMAScript 2018 বাকি অপারেটর (...) যোগ করেছে।
এটি আমাদের একটি বস্তুকে ধ্বংস করতে এবং বাকীটিকে একটি নতুন বস্তুতে সংগ্রহ করতে দেয়:
উদাহরণ
// Create an Object:
const car = {type:"Fiat", model:"500", color:"white"};
// Destructure the Object
let {type, model, color} = car;
document.getElementById("demo").innerHTML = "The car type is: " + type;
নতুন জাভাস্ক্রিপ্ট RegExp বৈশিষ্ট্য
ECMAScript 2018 4টি নতুন RegExp বৈশিষ্ট্য যুক্ত করেছে:
RegExp /s Flag
উদাহরণ
let text = "Line\nLine.";
let pattern = /Line./gs;
let result = text.match(pattern);
ব্যাখ্যা
s (ডটঅল) পতাকা। (ডট) মেটা অক্ষর লাইন টার্মিনেটর অক্ষর (\n, \r, \u2028, \u2029 ইত্যাদি) সহ যেকোনো অক্ষরকে মেলাতে দেয়।
s ছাড়া, \n লাইন টার্মিনেটরের সাথে মেলে না।
RegExp \p Metacharacter
উদাহরণ
let text = "Hello 😄";
let pattern = /\p{RGI_Emoji}/v;
let result = pattern.test(text);
ব্যাখ্যা
\p{ইউনিকোড প্রপার্টি} মেটাক্যারেক্টার ইউনিকোড ক্যারেক্টার প্রোপার্টির সাথে যেকোনো অক্ষরের সাথে মিলে যায়।
RegExp Lookbehind
উদাহরণ (?<=y)x
let text = "Hello W3Schools";
let pattern = /(?<=Hello )W3Schools/;
let result = pattern.test(text);
ব্যাখ্যা
যদি "y" এর আগে "x" হয় তাহলে (?<=y)x "x" এর সাথে মেলে।
নেতিবাচক চেহারার উদাহরণ (?<!y)x
let text = "Hello W3Schools";
let pattern = /(?<=Hello )W3Schools/;
let result = pattern.test(text);
ব্যাখ্যা
(?<!y)x "x" এর সাথে মেলে যদি না "x" "y" এর আগে না থাকে।
RegExp Named Capturing Groups
উদাহরণ (?<name>...)
const text = "Name: John Doe";
// Using named capturing groups
const regex = /(?\w+) (?\w+)/;
const match = text.match(regex);
let fName = match.groups.firstName;
let lName = match.groups.lastName;
ব্যাখ্যা
(?<firstName>\w+) একটি শব্দ ধরে এবং এটিকে প্রথম নাম হিসাবে লেবেল করে
(?<lastName>\w+) lastName-এর জন্য একই কাজ করে
text.match() groups
match.groups() :
{firstName:"John", lastName:"Doe" }
গুরুত্বপূর্ণ নোট:
একটি রেগুলার এক্সপ্রেশন ব্যবহার করার সময় যেটিতে ক্যাপচারিং গ্রুপ রয়েছে, একটি স্ট্রিংয়ের ম্যাচ() পদ্ধতি একটি ফলাফল অ্যারে প্রদান করে যাতে একটি গ্রুপ অ্যাট্রিবিউট অন্তর্ভুক্ত থাকে। গ্রুপ অ্যাট্রিবিউট হল একটি অবজেক্ট যা নামধারী ক্যাপচারিং গ্রুপের সাথে মিল রাখে।
JavaScript Threads
জাভাস্ক্রিপ্টে থ্রেড তৈরি করতে আপনি ওয়েব ওয়ার্কার্স API ব্যবহার করবেন।
মূল প্রোগ্রাম এক্সিকিউশন চালিয়ে যাওয়ার জন্য ব্যাকগ্রাউন্ডে কোড চালানোর জন্য ওয়ার্কার থ্রেড ব্যবহার করা হয়।
কর্মী থ্রেড প্রধান প্রোগ্রামের সাথে একযোগে সঞ্চালিত হয়। একটি প্রোগ্রামের বিভিন্ন অংশের একযোগে সঞ্চালন সময় বাঁচায়।
ECMAScript 2018 টিউটোরিয়াল
ES2018-এ শেখা বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য এই টিউটোরিয়ালটি ব্যবহার করে দেখুন।