ECMAScript 2019

JavaScript இல் புதிய அம்சங்களைக் கற்றுக்கொள்ளுங்கள்

ECMAScript 2019

ECMAScript 2019 (ES10 எனவும் அழைக்கப்படுகிறது) என்பது ஜாவாஸ்கிரிப்ட் மொழிக்கான 10வது பதிப்பாகும். இது 2019 ஆம் ஆண்டில் வெளியிடப்பட்டது மற்றும் பல பயனுள்ள புதிய அம்சங்களை அறிமுகப்படுத்தியது.

இந்த டுடோரியலில், ES2019 இல் அறிமுகப்படுத்தப்பட்ட அனைத்து முக்கிய அம்சங்களையும் நீங்கள் கற்றுக்கொள்வீர்கள்.

JavaScript 2019 இல் புதிய அம்சங்கள்

அம்சம் விளக்கம்
String trimStart() ஒரு சரத்தின் தொடக்கத்திலிருந்து வெள்ளை இடைவெளிகளை நீக்குகிறது
String trimEnd() ஒரு சரத்தின் முடிவிலிருந்து வெள்ளை இடைவெளிகளை நீக்குகிறது
Object.fromEntries விசை/மதிப்பு ஜோடிகளிலிருந்து ஒரு பொருளை உருவாக்குகிறது
Optional catch binding அது தேவையில்லாவிட்டால் catch அளவுருவை தவிர்க்க அனுமதிக்கிறது
Array flat() ஒரு கூடு அணியை சமன்படுத்துவதன் மூலம் புதிய வரிசையை உருவாக்குகிறது
Array flatMap() அனைத்து வரிசை உறுப்புகளையும் வரைபடமாக்குகிறது மற்றும் வரிசையை சமன்படுத்துவதன் மூலம் புதிய வரிசையை உருவாக்குகிறது
Revised Array sort() உலாவிகள் இப்போது ஒரு நிலையான வரிசைப்படுத்தும் வழிமுறையைப் பயன்படுத்த வேண்டும்
Revised JSON.stringify() UTF-8 குறி புள்ளிகளுடன் கூடிய சரங்கள் இப்போது பாதுகாப்பாக மாற்றப்படுகின்றன
Separator symbols in strings வரி மற்றும் பத்தி பிரிப்பான்கள் (\u2028 மற்றும் \u2029) சரங்களில் அனுமதிக்கப்படுகின்றன
Revised Function.toString() இப்போது கருத்துகள் மற்றும் இடைவெளிகள் மற்றும் தொடரியல் விவரங்கள் உட்பட மூல குறியீட்டை வழங்குகிறது

உலாவி ஆதரவு

ECMAScript 2019 ஜனவரி 2020 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது:

Chrome Edge Firefox Safari Opera
66 79 61 12 50
ஏப்ரல் 2018 ஜனவரி 2020 ஜூன் 2018 செப்டம்பர் 2018 மே 2018

JavaScript String trimStart()

ES2019 ஜாவாஸ்கிரிப்டுக்கு String முறை trimStart() ஐ சேர்த்தது.

trimStart() முறை trim() போலவே செயல்படுகிறது, ஆனால் ஒரு சரத்தின் தொடக்கத்திலிருந்து மட்டுமே வெள்ளை இடைவெளிகளை நீக்குகிறது.

எடுத்துக்காட்டு

let text1 = "     Hello World!     ";
let text2 = text1.trimStart();

JavaScript String trimEnd()

ES2019 ஜாவாஸ்கிரிப்டுக்கு String முறை trimEnd() ஐ சேர்த்தது.

trimEnd() முறை trim() போலவே செயல்படுகிறது, ஆனால் ஒரு சரத்தின் முடிவிலிருந்து மட்டுமே வெள்ளை இடைவெளிகளை நீக்குகிறது.

எடுத்துக்காட்டு

let text1 = "     Hello World!     ";
let text2 = text1.trimEnd();

JavaScript Object fromEntries()

ES2019 ஜாவாஸ்கிரிப்டுக்கு Object முறை fromEntries() ஐ சேர்த்தது.

fromEntries() முறை மீண்டும் செய்யக்கூடிய விசை / மதிப்பு ஜோடிகளிலிருந்து ஒரு பொருளை உருவாக்குகிறது.

எடுத்துக்காட்டு

const fruits = [
  ["apples", 300],
  ["pears", 900],
  ["bananas", 500]
];

const myObj = Object.fromEntries(fruits);

Optional catch Binding

ES2019 முதல், உங்களுக்கு அது தேவையில்லாவிட்டால் catch அளவுருவைத் தவிர்க்கலாம்:

2019 க்கு முன்:

try {
  // code
} catch (err) {
  // code
}

2019 க்குப் பிறகு:

try {
  // code
} catch {
  // code
}

JavaScript Array flat()

ES2019 ஜாவாஸ்கிரிப்டுக்கு Array flat() முறையைச் சேர்த்தது.

flat() முறை ஒரு கூடு அணியை சமன்படுத்துவதன் மூலம் புதிய வரிசையை உருவாக்குகிறது.

எடுத்துக்காட்டு

const myArr = [[1,2],[3,4],[5,6]];
const newArr = myArr.flat();

JavaScript Array flatMap()

ES2019 ஜாவாஸ்கிரிப்டுக்கு Array flatMap() முறையைச் சேர்த்தது.

flatMap() முறை முதலில் ஒரு வரிசையின் அனைத்து உறுப்புகளையும் வரைபடமாக்குகிறது, பின்னர் வரிசையை சமன்படுத்துவதன் மூலம் புதிய வரிசையை உருவாக்குகிறது.

எடுத்துக்காட்டு

const myArr = [1, 2, 3, 4, 5, 6];
const newArr = myArr.flatMap(x => [x, x * 10]);

Stable Array sort()

ES2019 Array sort() முறையைத் திருத்தியது.

2019க்கு முன், விவரக்குறிப்பு QuickSort போன்ற நிலையற்ற வரிசைப்படுத்தும் வழிமுறைகளை அனுமதித்தது.

ES2019க்குப் பிறகு, உலாவிகள் ஒரு நிலையான வரிசைப்படுத்தும் வழிமுறையைப் பயன்படுத்த வேண்டும்:

ஒரு மதிப்பில் உறுப்புகளை வரிசைப்படுத்தும்போது, ஒரே மதிப்பைக் கொண்ட மற்ற உறுப்புகளுடன் தொடர்புடைய நிலையை உறுப்புகள் வைத்திருக்க வேண்டும்.

💡 முக்கிய குறிப்பு:

நிலையான வரிசைப்படுத்தல் என்பது ஒரே மதிப்புகளைக் கொண்ட உறுப்புகள் அவற்றின் அசல் ஒப்பீட்டு வரிசையைத் தக்கவைத்துக்கொள்கின்றன என்பதை உறுதி செய்கிறது.

Revised JSON.stringify()

ES2019 JSON stringify() முறையைத் திருத்தியது.

2019க்கு முன், JSON \ உடன் குறியிடப்பட்ட எழுத்துக்களை சரமாக மாற்ற முடியவில்லை.

let text = JSON.stringify("\u26D4");

ES2019 க்கு முன், UTF-8 குறி புள்ளிகளில் (U+D800 to U+DFFF) JSON.stringify()JSON ஐப் பயன்படுத்துவது ��� போன்ற உடைந்த யூனிகோடு எழுத்துக்களை வழங்கியது.

இந்தத் திருத்தத்திற்குப் பிறகு, UTF-8 குறி புள்ளிகளுடன் கூடிய சரங்கள் JSON.stringify() உடன் பாதுகாப்பாக மாற்றப்படுகின்றன, மற்றும் JSON.parse() ஐப் பயன்படுத்தி அசல் நிலைக்குத் திரும்புகின்றன.

Separator Symbols

வரி பிரிப்பான்கள் மற்றும் பத்தி பிரிப்பான் குறியீடுகள் (\u2028 மற்றும் \u2029) இப்போது சர இலக்கியங்களில் அனுமதிக்கப்படுகின்றன.

2019க்கு முன், இவை வரி முடிப்பாளர்களாகக் கருதப்பட்டு பிழை விதிவிலக்குகளை ஏற்படுத்தின:

எடுத்துக்காட்டு

// This is valid in ES2019:
let text = "\u2028";

⚠️ குறிப்பு:

இப்போது, JavaScript மற்றும் JSON ஆகியவை சமமான விதிகளைக் கொண்டுள்ளன.

ES2019 க்கு முன்: text = JSON.parse('"\u2028"') என்பது '' ஆக பாகுபடுத்தும்.

text = '"\u2028"' என்பது தொடரியல் பிழையைத் தரும்.

Revised Function.toString()

ES2019 Function toString() முறையைத் திருத்தியது.

toString() முறை ஒரு செயல்பாட்டின் மூல குறியீட்டைக் குறிக்கும் ஒரு சரத்தை வழங்குகிறது.

2019 முதல், toString() கருத்துகள், இடைவெளிகள் மற்றும் தொடரியல் விவரங்கள் உட்பட செயல்பாட்டின் மூல குறியீட்டைத் திரும்பப் பெற வேண்டும்.

2019க்கு முன், வெவ்வேறு உலாவிகள் செயல்பாட்டின் வெவ்வேறு மாறுபாடுகளைத் திரும்பப் பெற்றன (கருத்துகள் மற்றும் இடைவெளிகள் இல்லாமல்). 2019 முதல், செயல்பாடு எழுதப்பட்டுள்ளதைப் போலவே திரும்பப் பெறப்பட வேண்டும்.

எடுத்துக்காட்டு

function myFunction(p1, p2) {
  return p1 * p2;
}
let text = myFunction.toString();

ECMAScript 2019 பயிற்சி

ES2019 இல் கற்றுக்கொண்ட அம்சங்களைச் சோதிக்க இந்தப் பயிற்சியை முயற்சிக்கவும்.

ES2019 இல் அறிமுகப்படுத்தப்பட்ட பின்வரும் எந்த முறை ஒரு சரத்தின் தொடக்கத்திலிருந்து வெள்ளை இடைவெளிகளை நீக்குகிறது?

trimLeft()
✗ தவறு! trimLeft() என்பது trimStart() இன் பழைய மாற்றுப் பெயர் ஆனும், ஆனால் ES2019 இல் trimStart() என்று நிலையானதாக்கப்பட்டது
trimBegin()
✗ தவறு! trimBegin() என்று எந்த முறையும் இல்லை
startTrim()
✗ தவறு! startTrim() என்று எந்த முறையும் இல்லை
trimStart()
✓ சரி! trimStart() என்பது ES2019 இல் அறிமுகப்படுத்தப்பட்ட முறையாகும், இது ஒரு சரத்தின் தொடக்கத்திலிருந்து வெள்ளை இடைவெளிகளை நீக்குகிறது