ECMAScript 2022

ECMAScript 2022 புதிய அம்சங்களைக் கற்றுக்கொள்ளுங்கள்

ECMAScript 2022

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

மார்ச் 2023 முதல் அனைத்து நவீன உலாவிகளிலும் ஆதரிக்கப்படுகிறது.

அம்சம் விளக்கம்
Array at() ஒரு வரிசையிலிருந்து குறியிடப்பட்ட உறுப்பைத் திருப்பித் தரும்
String at() ஒரு சரத்திலிருந்து குறியிடப்பட்ட உறுப்பைத் திருப்பித் தரும்
RegExp /d துணைச் சரப் பொருத்தங்களைச் செய்கிறது
Object.hasOwn() ஒரு பண்பு ஒரு பொருளின் சொந்த பண்பா எனச் சரிபார்க்கிறது
error.cause ஒரு பிழையின் பின்னணியில் உள்ள காரணத்தைக் குறிப்பிட உங்களை அனுமதிக்கிறது
await import இயக்குவதற்கு முன் இறக்குமதி தேவைப்படும் வளங்களுக்கு JavasSript தொகுதிகள் காத்திருக்க அனுமதிக்கிறது.
Class field declarations பண்புகள் ஒரு வகுப்புக்குள் நேரடியாக வரையறுக்க அனுமதிக்கிறது
Private methods and fields தனியார் பண்புகளை அனுமதிக்கிறது (#method மற்றும் #field)

உலாவி ஆதரவு

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] போன்ற எதிர்மறை அடைப்புக்குறி குறியிடலை அனுமதிக்கின்றன.

இது JavaScript இல் சாத்தியமில்லை, ஏனெனில் [] வரிசைகள் மற்றும் பொருள்கள் இரண்டையும் அணுக பயன்படுத்தப்படுகிறது. 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

JavasSript தொகுதிகள் இப்போது இயக்குவதற்கு முன் இறக்குமதி தேவைப்படும் வளங்களுக்கு காத்திருக்கலாம்:

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

const data = await myData();

JavaScript வகுப்புப் புல அறிவிப்புகள்

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

let x = myClass.counter;

JavaScript தனியார் முறைகள் மற்றும் புலங்கள்

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 சங்கிலி பிழைகளை உருவாக்க அனுமதிக்கிறது, எதிர்மறை குறியீட்டு அணுகலை வழங்காது