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 புதிய அம்சங்கள் பற்றிய அறிவைச் சோதிக்க உதவும்.