ECMAScript 2017

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

ECMAScript 2017

ECMAScript 2017 (ES8 எனவும் அழைக்கப்படுகிறது) என்பது ஜாவாஸ்கிரிப்ட் மொழிக்கான 8வது பதிப்பாகும். இது 2017 ஆம் ஆண்டில் வெளியிடப்பட்டது மற்றும் async/await, String padding, மற்றும் Object புதிய முறைகள் உள்ளிட்ட பல முக்கிய அம்சங்களை அறிமுகப்படுத்தியது.

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

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

அம்சம் விளக்கம்
String padStart() ஒரு சரத்தின் தொடக்கத்தை padding செய்கிறது
String padEnd() ஒரு சரத்தின் முடிவை padding செய்கிறது
Object entries() ஒரு பொருளின் விசை/மதிப்பு ஜோடிகளின் வரிசையை வழங்குகிறது
Object values() ஒரு பொருளின் மதிப்புகளின் வரிசையை வழங்குகிறது
async and await promises கையாளுதலை எளிதாக்குகிறது
Trailing Commas கமா-பிரிக்கப்பட்ட மதிப்புகளின் பட்டியல் ஏற்றுக்கொள்ளப்படும் இடங்களில் trailing commas அனுமதிக்கிறது
getOwnProperty Descriptors ஒரு பொருளின் அனைத்து சொந்த பண்பு descriptors கொண்ட ஒரு பொருளை வழங்குகிறது

உலாவி ஆதரவு

JavaScript 2017 செப்டம்பர் 2017 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது:

Chrome Edge Firefox Safari Opera
58 15 52 11 45
ஏப்ரல் 2017 ஏப்ரல் 2017 மார்ச் 2017 செப்டம்பர் 2017 மே 2017

JavaScript String Padding

ECMAScript 2017 ஜாவாஸ்கிரிப்டுக்கு இரண்டு சரம் முறைகளை சேர்த்தது: padStart() மற்றும் padEnd() ஒரு சரத்தின் தொடக்கத்திலும் முடிவிலும் padding ஆதரவுக்காக.

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

let text = "5";
text = text.padStart(4,0);
let text = "5";
text = text.padEnd(4,0);

💡 பயன்பாடு:

padStart() மற்றும் padEnd() முறைகள் எண்கள் அல்லது சரங்களை ஒரு குறிப்பிட்ட நீளத்திற்கு வடிவமைக்க பயனுள்ளதாக இருக்கும், குறிப்பாக தேதிகள், நேரங்கள் அல்லது ID களை வடிவமைக்கும் போது.

JavaScript Object Entries

ECMAScript 2017 பொருள்களுக்கு Object.entries() முறையை சேர்த்தது.

Object.entries() ஒரு பொருளில் உள்ள விசை/மதிப்பு ஜோடிகளின் வரிசையை வழங்குகிறது:

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

const person = {
  firstName : "John",
  lastName : "Doe",
  age : 50,
  eyeColor : "blue"
};

let text = Object.entries(person);

Object.entries() loops இல் பொருள்களைப் பயன்படுத்த எளிதாக்குகிறது:

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

const fruits = {Bananas:300, Oranges:200, Apples:500};

let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
  text += fruit + ": " + value + "
"; }

Object.entries() பொருள்களை வரைபடங்களாக மாற்றவும் எளிதாக்குகிறது:

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

const fruits = {Bananas:300, Oranges:200, Apples:500};

const myMap = new Map(Object.entries(fruits));

JavaScript Object Values

Object.values() என்பது Object.entries() போன்றது, ஆனால் பொருள் மதிப்புகளின் ஒரு ஒற்றை பரிமாண வரிசையை வழங்குகிறது:

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

const person = {
  firstName : "John",
  lastName : "Doe",
  age : 50,
  eyeColor : "blue"
};

let text = Object.values(person);

JavaScript Async Functions

async மற்றும் await keywords ES2017 இல் அறிமுகப்படுத்தப்பட்டன, இது அசிங்க்ரோனஸ் குறியீட்டை எழுதுவதையும் படிப்பதையும் எளிதாக்குகிறது.

Waiting for a Timeout

async function myDisplay() {
  let myPromise = new Promise(function(myResolve, myReject) {
    setTimeout(function() { myResolve("I love You !!"); }, 3000);
  });
  document.getElementById("demo").innerHTML = await myPromise;
}

myDisplay();

async/await நன்மைகள்:

async/await மூலம், நீங்கள் வாக்குறுதிகளை கையாளுவதற்கான .then() மற்றும் .catch() இணைக்கப்பட்ட சங்கிலிகளைத் தவிர்த்து, அசிங்க்ரோனஸ் குறியீட்டை ஒத்திசைவான குறியீட்டைப் போலவே எழுதலாம்.

JavaScript Trailing Commas

ஜாவாஸ்கிரிப்ட் கமா-பிரிக்கப்பட்ட மதிப்புகளின் பட்டியல் ஏற்றுக்கொள்ளப்படும் எந்த இடத்திலும் trailing commas அனுமதிக்கிறது.

வரிசை மற்றும் பொருள் இலக்கியங்கள், செயல்பாடு அழைப்புகள், அளவுருக்கள், இறக்குமதிகள் மற்றும் ஏற்றுமதிகளில்.

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

function myFunc(x,,,) {};
const myArr = [1,2,3,4,,,];
const myObj = {fname: John, age:50,,,};

⚠️ கவனிக்க:

Trailing commas வெர்சன் கண்ட்ரோல் சிஸ்டம்ஸில் மாற்றங்களைக் கண்காணிக்க எளிதாக்குகின்றன, ஏனெனில் புதிய உறுப்புகளைச் சேர்க்கும்போது முந்தைய வரியை மாற்ற வேண்டியதில்லை.

Object.getOwnPropertyDescriptors() முறை

Object.getOwnPropertyDescriptors() கொடுக்கப்பட்ட பொருளின் அனைத்து சொந்த பண்பு descriptors வழங்குகிறது.

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

getOwnPropertyNames() முறை ஒரு பொருளின் பண்புகளுடன் ஒரு வரிசையை வழங்குகிறது:

const myProp = Object.getOwnPropertyNames(person);

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

getOwnPropertyDescriptors() முறை ஒரு பொருளின் பண்பு descriptors வழங்குகிறது.

const myProp = Object.getOwnPropertyDescriptors(person);

ஒரு பண்பு descriptor என்பது ஒரு பண்பின் அனைத்து பண்புகளையும் விவரிக்கும் ஒரு பொருள்:

பண்பு விளக்கம்
value பண்பின் மதிப்பு
writable பண்பு மதிப்பை மாற்ற முடிந்தால் true
enumerable loops (for...in, Object.keys()) இல் பண்பு தோன்றினால் true
configurable பண்பு descriptor மாற்றலாம் அல்லது நீக்கலாம் என்றால் true
get பண்பு மதிப்பைப் பெற செயல்பாடு (ஆக்சஸர் பண்புகளுக்கு)
set பண்பு மதிப்பை அமைக்க செயல்பாடு (ஆக்சஸர் பண்புகளுக்கு)

Object Cloning

Object.getOwnPropertyDescriptors() பெரும்பாலும் getters, setters, மற்றும் பண்பு பண்புகளைப் பாதுகாத்துக்கொண்டே பொருள்களை குளோன் செய்ய பயன்படுத்தப்படுகிறது:

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

const clone = Object.defineProperties({}, Object.getOwnPropertyDescriptors(person));

🔧 நடைமுறை பயன்பாடு:

Object.getOwnPropertyDescriptors() மூலம் குளோனிங் ஆழமான குளோனிங் செயல்பாட்டை வழங்குகிறது, இது அசல் பொருளின் அனைத்து பண்பு பண்புகளையும் (getters, setters, enumerable, configurable, writable) பாதுகாக்கிறது.

ECMAScript 2017 பயிற்சி

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

ES2017 இல் அறிமுகப்படுத்தப்பட்ட பின்வரும் எந்த முறை ஒரு பொருளின் விசை/மதிப்பு ஜோடிகளின் வரிசையை வழங்குகிறது?

Object.keysValues()
✗ தவறு! Object.keysValues() என்று எந்த முறையும் இல்லை
Object.pairs()
✗ தவறு! Object.pairs() என்று எந்த முறையும் இல்லை
Object.keyValuePairs()
✗ தவறு! Object.keyValuePairs() என்று எந்த முறையும் இல்லை
Object.entries()
✓ சரி! Object.entries() என்பது ES2017 இல் அறிமுகப்படுத்தப்பட்ட முறையாகும், இது ஒரு பொருளின் விசை/மதிப்பு ஜோடிகளின் வரிசையை வழங்குகிறது