ECMAScript 2018
ECMAScript 2018 (ES9 எனவும் அழைக்கப்படுகிறது) என்பது ஜாவாஸ்கிரிப்ட் மொழிக்கான 9வது பதிப்பாகும். இது 2018 ஆம் ஆண்டில் வெளியிடப்பட்டது மற்றும் அசிங்க்ரோனஸ் டெரேஷன், பிராமிஸ் ஃபைனலி, மற்றும் புதிய RegExp அம்சங்கள் உள்ளிட்ட பல புதிய அம்சங்களை அறிமுகப்படுத்தியது.
இந்த டுடோரியலில், ES2018 இல் அறிமுகப்படுத்தப்பட்ட அனைத்து முக்கிய அம்சங்களையும் நீங்கள் கற்றுக்கொள்வீர்கள்.
JavaScript 2018 இல் புதிய அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
| Asynchronous Iteration | for/of loops இல் await keyword ஐ பயன்படுத்த அனுமதிக்கிறது |
| Promise Finally | ஒரு promise "fulfilled" அல்லது "rejected" ஆகும்போது ஒரு செயல்பாட்டை இயக்க திட்டமிடுகிறது |
| Array Rest Elements | ஒரு வரிசையை அழிக்கவும் மீதமுள்ளவற்றை சேகரிக்கவும் அனுமதிக்கிறது |
| Object Rest Properties | ஒரு பொருளை அழிக்கவும் மீதமுள்ளவற்றை சேகரிக்கவும் அனுமதிக்கிறது |
| Shared Memory | ஒரு நிரலின் வெவ்வேறு பகுதிகள் ஒரே நினைவகத்தை அணுக அனுமதிக்கிறது |
2018 இல் புதிய RegExp அம்சங்கள்
| அம்சம் | விளக்கம் |
|---|---|
| /s | . (dot) மெட்டா கேரக்டர் வரி முடிப்பாளர்களுடன் பொருந்த அனுமதிக்கிறது |
| \p{} | Unicode கேரக்டர் பண்புடன் கேரக்டரை பொருத்துகிறது |
| (?<=y) | "y" க்கு முன்னால் "x" இருந்தால் (?<=y)x "x" ஐ பொருத்துகிறது |
| (?<!y) | "y" க்கு முன்னால் "x" இல்லாவிட்டால் (?<!y)x "x" ஐ பொருத்துகிறது |
| (?<name>) | உரையை பிடித்து பெயர்களை (லேபிள்கள்) அளிக்கிறது |
உலாவி ஆதரவு
ECMAScript 2018 ஜூன் 2020 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 64 | 79 | 78 | 12 | 51 |
| ஜனவரி 2018 | ஜனவரி 2020 | ஜூன் 2020 | செப்டம்பர் 2018 | பிப்ரவரி 2018 |
JavaScript Asynchronous Iteration
ECMAScript 2018 அசிங்க்ரோனஸ் டெரேட்டர்கள் மற்றும் டெரேபிள்களை சேர்த்தது.
அசிங்க்ரோனஸ் டெரேபிள்களுடன், நாம் for/of loops இல் await keyword ஐ பயன்படுத்தலாம்.
எடுத்துக்காட்டு
for await () {}
JavaScript Promise.finally()
ECMAScript 2018 Promise.finally உடன் Promise பொருளின் முழு செயலாக்கத்தை இறுதிப்படுத்துகிறது:
Promise.finally() ஒரு promise வெற்றிகரமாக தீர்க்கப்பட்டது அல்லது நிராகரிக்கப்பட்டது போது செயல்படுத்தப்பட வேண்டிய ஒரு செயல்பாட்டை வரையறுக்கிறது.
எடுத்துக்காட்டு
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
JavaScript Array Rest Elements
ECMAScript 2018 rest operator (...) ஐ சேர்த்தது.
Rest operator (...) ஒரு வரிசையை அழிக்கவும் மீதமுள்ளவற்றை சேகரிக்கவும் அனுமதிக்கிறது:
எடுத்துக்காட்டு 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 rest operator (...) ஐ சேர்த்தது.
இது ஒரு பொருளை அழிக்கவும் மீதமுள்ளவற்றை ஒரு புதிய பொருளில் சேகரிக்கவும் அனுமதிக்கிறது:
எடுத்துக்காட்டு
// 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;
புதிய JavaScript RegExp அம்சங்கள்
ECMAScript 2018 4 புதிய RegExp அம்சங்களை சேர்த்தது:
RegExp /s Flag
எடுத்துக்காட்டு
let text = "Line\nLine.";
let pattern = /Line./gs;
let result = text.match(pattern);
விளக்கம்
s (dotAll) flag . (dot) மெட்டா கேரக்டர் எந்த கேரக்டரையும் பொருத்த அனுமதிக்கிறது, வரி முடிப்பாளர் கேரக்டர்கள் ( \n, \r, \u2028, \u2029 போன்றவை) உட்பட.
s இல்லாமல், \n வரி முடிப்பாளர்களுடன் பொருந்தாது.
RegExp \p Metacharacter
எடுத்துக்காட்டு
let text = "Hello 😄";
let pattern = /\p{RGI_Emoji}/v;
let result = pattern.test(text);
விளக்கம்
\p{Unicode Property} மெட்டா கேரக்டர் Unicode கேரக்டர் பண்புடன் எந்த கேரக்டரையும் பொருத்துகிறது.
RegExp Lookbehind
எடுத்துக்காட்டு (?<=y)x
let text = "Hello W3Schools";
let pattern = /(?<=Hello )W3Schools/;
let result = pattern.test(text);
விளக்கம்
"y" க்கு முன்னால் "x" இருந்தால் (?<=y)x "x" ஐ பொருத்துகிறது.
Negative Lookbehind எடுத்துக்காட்டு (?<!y)x
let text = "Hello W3Schools";
let pattern = /(?<=Hello )W3Schools/;
let result = pattern.test(text);
விளக்கம்
"y" க்கு முன்னால் "x" இல்லாவிட்டால் (?<!y)x "x" ஐ பொருத்துகிறது.
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+) ஒரு வார்த்தையை பிடித்து அதை firstName என லேபிளிடுகிறது
(?<lastName>\w+) lastName க்கும் அதையே செய்கிறது
text.match() ஒரு groups பண்புடன் கூடிய விளைவு வரிசையை வழங்குகிறது
match.groups() ஒரு பொருளை வழங்குகிறது:
{firstName:"John", lastName:"Doe" }
முக்கிய குறிப்பு:
கேப்ச்சரிங் குரூப்புகளைக் கொண்ட வழக்கமான வெளிப்பாட்டைப் பயன்படுத்தும்போது, ஒரு சரத்தின் match() முறை ஒரு groups பண்பை உள்ளடக்கிய ஒரு விளைவு வரிசையை வழங்குகிறது. இந்த groups பண்பு என்பது பெயரிடப்பட்ட கேப்ச்சரிங் குரூப்புகளுக்கான பொருத்தங்களை வைத்திருக்கும் ஒரு பொருள்.
JavaScript Threads
JavaScript இல் நூல்களை உருவாக்க Web Workers API ஐப் பயன்படுத்துவீர்கள்.
முதன்மை நிரல் செயல்பாட்டைத் தொடரும் வகையில் பின்னணியில் குறியீட்டை இயக்க வோர்கர் நூல்கள் பயன்படுத்தப்படுகின்றன.
வோர்கர் நூல்கள் முதன்மை நிரலுடன் ஒரே நேரத்தில் இயங்குகின்றன. ஒரு நிரலின் வெவ்வேறு பகுதிகளின் ஒரே நேரத்திலான செயலாக்கம் நேரத்தைச் சேமிக்கும்.
ECMAScript 2018 பயிற்சி
ES2018 இல் கற்றுக்கொண்ட அம்சங்களைச் சோதிக்க இந்தப் பயிற்சியை முயற்சிக்கவும்.