ECMAScript 2026
JavaScript 2026 இல் புதிய அம்சங்கள்
ECMAScript 2026 வள மேலாண்மையை மேம்படுத்துவதற்கும், ஒத்திசைவற்ற செயல்பாடுகளைக் கையாள்வதற்கும், மற்றும் தரவு கையாளுதலை மேம்படுத்துவதற்கும் கவனம் செலுத்தும் பல அம்சங்களை அறிமுகப்படுத்துகிறது:
- புதிய JavaScript Date பொருள் - Temporal Date
- using மற்றும் await using உடன் வள மேலாண்மை
- Error.isError() உடன் பிழை கண்டறிதல்
- Array.fromAsync() உடன் ஒத்திசைவற்ற வரிசை உருவாக்கம்
- Uint8Array க்கான Base64 மற்றும் ஹெக்ஸாடெசிமல் குறியாக்கங்கள்
- Records & Tuples (Stage 3 proposal) உடன் மாறாத தன்மை
- Pattern Matching (Stage 3 proposal)
எச்சரிக்கை:
2026 பதிப்பு இன்னும் வெளியிடப்படவில்லை. இது பொதுவாக ஜூனில் வெளியிடப்படும்.
நவம்பர் 2025 நிலவரப்படி, இது ES2026 இல் இருக்கக்கூடிய வரைவில் உள்ள அம்சங்களின் பட்டியலாகும்.
Temporal API
JavaScrit 2026 இல் உள்ள Temporal API தேதிகள் மற்றும் நேரங்களுடன் பணிபுரிய நிலையான பொருள்கள் மற்றும் செயல்பாடுகளை வழங்குகிறது.
ES2026 இலிருந்து, Temporal API என்பது JavaScript இல் நவீன தேதி மற்றும் நேர மேலாண்மைக்கான நிலையானது, பாரம்பரிய Date பொருளை மாற்றுவதற்காக வடிவமைக்கப்பட்டது.
Date ஐப் போலன்றி, Temporal பொருள்கள் மாறாதவை மற்றும் நேர மண்டலங்கள் மற்றும் கிரிகோரியன் அல்லாத காலண்டர்களுக்கு முதல் தர ஆதரவை வழங்குகின்றன.
using உடன் வள மேலாண்மை
JavaScript 2026 தானாக வளங்களை (கோப்பு கைப்பிடிகள் அல்லது தரவுத்தள இணைப்புகள் போன்றவை) மேலாண்மை செய்வதற்கும், அவை நோக்கத்தின் வெளியே செல்லும்போது அகற்றுவதற்கும் இரண்டு விசைசொற்களைச் சேர்த்தது, வெளிப்படையான try...finally தொகுதிகளுக்கான தேவையைக் குறைக்கிறது.
usingதொகுதி-நோக்கு மாறிகளின் ஒத்திசைவு சுத்திகரிப்பை வழங்குகிறது.await usingநெட்வொர்க் ஸ்ட்ரீம்கள் போன்ற வளங்களுக்கு ஒத்திசைவற்ற சுத்திகரிப்பை வழங்குகிறது.
Error.isError() உடன் பிழை கண்டறிதல்
Error.isError() என்பது ஒரு மதிப்பு Error பொருளா என நம்பகத்தன்மையுடன் சரிபார்க்கும் ஒரு நிலையான முறையாகும், பிழை கையாளுதல் மற்றும் பிழைத்திருத்தத்தை மேம்படுத்துகிறது.
Array.fromAsync() உடன் புதிய வரிசை
Array.fromAsync() என்பது டெவலப்பர்கள் ஒத்திசைவற்ற மீள் செய்யக்கூடியவற்றிலிருந்து, வரிசை-போன்ற பொருள்களிலிருந்து அல்லது Promiseகளிலிருந்து புதிய Array உதாரணத்தை உருவாக்க அனுமதிக்கும் ஒரு அம்சமாகும், ஒத்திசைவற்ற மூலங்களிலிருந்து தரவைக் கையாளுதலை மென்மையாக்குகிறது.
ES2026 இல் புதிய Uint8Array முறைகள்
Uint8Array க்கான Base64 மற்றும் ஹெக்ஸாடெசிமல் குறியாக்கங்கள்.
இந்த புதிய நிலையான முறைகள் Uint8Array பொருள்கள் மற்றும் Base64 அல்லது ஹெக்ஸாடெசிமல் சரங்களுக்கு இடையே நேரடி மாற்றத்தைச் சேர்ப்பதன் மூலம் பைனரி தரவுடன் பணிபுரிவதை எளிதாக்குகின்றன.
| முறை | விளக்கம் |
|---|---|
Uint8Array.fromBase64() |
ஒரு base64-குறியிடப்பட்ட சரத்திலிருந்து ஒரு Uint8Array பொருளை உருவாக்குகிறது |
Uint8Array.toBase64() |
ஒரு int8Array இல் உள்ள தரவிலிருந்து ஒரு base64-குறியிடப்பட்ட சரத்தைத் திருப்பித் தருகிறது |
Uint8Array.fromHex() |
ஒரு ஹெக்ஸாடெசிமல் சரத்திலிருந்து ஒரு Uint8Array பொருளை உருவாக்குகிறது |
Uint8Array.toHex() |
ஒரு int8Array இல் உள்ள தரவிலிருந்து ஒரு hex-குறியிடப்பட்ட சரத்தைத் திருப்பித் தருகிறது |
வெளிப்படையான வள மேலாண்மை
using விசைச்சொல்
using விசைச்சொல் என்பது JavaScript 2026 இன் ஒரு கூடுதலாகும். இது வெளிப்படையான அகற்றுதல் தேவைப்படும் வளங்களை மேலாண்மை செய்வதற்கான ஒரு பொறிமுறையை வழங்குகிறது.
இது ஒரு தொகுதி-நோக்கு மாறியை அறிவிக்கிறது, const போன்றது, ஆனால் மாறி நோக்கத்தின் வெளியே செல்லும்போது பயன்படுத்தப்பட்ட வளத்தின் ஒத்திசைவு அகற்றுதலை உத்தரவாதப்படுத்துகிறது என்பதில் வேறுபடுகிறது.
எடுத்துக்காட்டு
class MyResource {
constructor(name) {
this.name = name;
myDisplay(`Resource ${this.name} acquired.`);
}
[Symbol.dispose]() {
myDisplay(`Resource ${this.name} disposed.`);
}
}
function manageResource() {
using resource = new MyResource("Database Connection");
// Use the resource here
myDisplay(`Using resource: ${resource.name}`);
}
using விசைச்சொல் வள மேலாண்மையை எளிதாக்குகிறது, சுத்திகரிப்பு செயல்முறையை தானாகக் கையாளுவதன் மூலம், வள கசிவுகளின் அபாயத்தைக் குறைத்து மற்றும் அகற்றுவதற்கான கையேடு try...finally தொகுதிகளுடன் ஒப்பிடும்போது குறியீட்டு வாசிப்புத்தன்மையை மேம்படுத்துகிறது.
வள மேலாண்மை:
usingSymbol.dispose முறையை செயல்படுத்தும் பொருள்களுக்காக வடிவமைக்கப்பட்டது, இது வளத்திற்கான சுத்திகரிப்பு தர்க்கத்தை வரையறுக்கிறது.- ஒத்திசைவு அகற்றுதல்:
usingஉடன் அறிவிக்கப்பட்ட ஒரு மாறி அதன் நோக்கத்திலிருந்து வெளியேறும்போது (ஒரு தொகுதி அல்லது செயல்பாட்டின் முடிவில்), அதன் Symbol.dispose முறை தானாக அழைக்கப்படும். - ஒத்திசைவற்ற அகற்றுதல்: ஒத்திசைவற்ற சுத்திகரிப்பு தேவைப்படும் வளங்களுக்கு,
await usingஅறிவிப்பு பயன்படுத்தப்படலாம். இது மாறி முழுமையாக நோக்கத்தின் வெளியே செல்வதற்கு முன் அகற்றுதல் செயல்முறை காத்திருக்கப்படுகிறது என்பதை உறுதி செய்கிறது. - தொகுதி-நோக்கு:
constபோல,usingஉடன் அறிவிக்கப்பட்ட மாறிகள் அவை அறிவிக்கப்பட்ட தொகுதிக்கு உள்ளூர், மற்றும் அறிவிப்பின் நேரத்தில் துவக்கப்பட வேண்டும். - மாறாத:
constக்கு போல,usingஉடன் அறிவிக்கப்பட்ட மாறிகள் துவக்கத்திற்குப் பிறகு மீண்டும் ஒதுக்க முடியாது.
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 134 | 134 | 141 | ❌ | 119 |
| மார்ச் 2025 | மார்ச் 2025 | ஜூலை 2025 | ❌ | மே 2025 |
வெளிப்படையான வள மேலாண்மை
await using
பிற மொழிகளால் ஊக்குவிக்கப்பட்டு, JavaScript 2026 கோப்பு கைப்பிடிகள், தரவுத்தள இணைப்புகள் அல்லது நெட்வொர்க் ஸ்ட்ரீம்கள் போன்ற வளங்களின் தானியங்கி சுத்திகரிப்புக்கான using தொகுதிகளை அறிமுகப்படுத்துகிறது.
இது ஒத்திசைவற்ற செயல்பாடுகளுக்கு குறிப்பாக பயனுள்ளதாக இருக்கும்:
எடுத்துக்காட்டு
async function processFile() {
using fileHandle = await openFile('data.txt');
// Work with fileHandle here
} // fileHandle is automatically closed here
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 134 | 134 | 141 | ❌ | 119 |
| மார்ச் 2025 | மார்ச் 2025 | ஜூலை 2025 | ❌ | மே 2025 |
Error.isError()
Error.isError() நிலையான முறை ஒரு மதிப்பு Error பொருளா என சரிபார்க்கிறது.
எடுத்துக்காட்டு
Error.isError(new TypeError()); // true
Error.isError({ name: "Error" }); // false
Error.isError() என்பது instanceof Error இன் பாதுகாப்பான மாற்று ஆகும், இது ரியால்ம்கள் முழுவதும் தோல்வியடைகிறது.
ரியால்ம்-பாதுகாப்பான பிழை சரிபார்ப்பு:
ஒரு iframe இலிருந்து ஒரு Error Error.isError() உடன் சரிபார்க்கப்படுகிறது மற்றும் instanceof உடன் தோல்வியடைகிறது.
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 134 | 134 | 138 | ❌ | 119 |
| மார்ச் 2025 | மார்ச் 2025 | ஏப்ரல் 2025 | ❌ | மே 2025 |
Array.fromAsync()
எடுத்துக்காட்டு
async function* asyncGenerator() {
yield Promise.resolve(1);
yield Promise.resolve(2);
yield Promise.resolve(3);
}
async function processAsyncData() {
const arr = await Array.fromAsync(asyncGenerator());
}
processAsyncData();
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 121 | 121 | 115 | 16.4 | ❌ |
| ஜனவரி 2024 | ஜனவரி 2024 | ஜூலை 2023 | மே 2023 | ❌ |
Uint8Array to/fromBase64()
எடுத்துக்காட்டுகள்
let string = 'W3Schools 123';
const arr = Uint8Array.fromBase64(string);
const arr = new Uint8Array([91,116,156,134,138,37,179,93,183]);
let text = arr.toBase64();
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 140 | 140 | 133 | 18.2 | ❌ |
| செப்டம்பர் 2025 | செப்டம்பர் 2025 | நவம்பர் 2024 | டிசம்பர் 2024 | ❌ |
Uint8Array to/fromHex()
எடுத்துக்காட்டுகள்
let text = '5b749c868a25b35db7';
const arr = Uint8Array.fromHex(text);
const arr = new Uint8Array([91,116,156,134,138,37,179,93,183]);
let text = arr.toHex();
உலாவி ஆதரவு
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 140 | 140 | 133 | 18.2 | ❌ |
| செப்டம்பர் 2025 | செப்டம்பர் 2025 | நவம்பர் 2024 | டிசம்பர் 2024 | ❌ |
ECMAScript 2026 பயிற்சி
இந்த பயிற்சி உங்கள் ECMAScript 2026 புதிய அம்சங்கள் பற்றிய அறிவைச் சோதிக்க உதவும்.