ஜாவாஸ்கிரிப்டின் அசிங்க் ஜெனரேட்டர் ஹெல்பர்களை ஆராயுங்கள்: நவீன பயன்பாடுகளில் திறமையான தரவு செயலாக்கம், மாற்றம் மற்றும் கட்டுப்பாட்டிற்கான சக்திவாய்ந்த ஸ்ட்ரீம் பயன்பாடுகள்.
ஜாவாஸ்கிரிப்ட் அசிங்க் ஜெனரேட்டர் ஹெல்பர்களில் தேர்ச்சி: நவீன மேம்பாட்டிற்கான ஸ்ட்ரீம் பயன்பாடுகள்
ES2023 இல் அறிமுகப்படுத்தப்பட்ட ஜாவாஸ்கிரிப்ட் அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள், தரவுகளின் ஒத்திசைவற்ற ஸ்ட்ரீம்களுடன் வேலை செய்வதற்கான சக்திவாய்ந்த மற்றும் உள்ளுணர்வு கருவிகளை வழங்குகின்றன. இந்த பயன்பாடுகள் பொதுவான தரவு செயலாக்கப் பணிகளை எளிதாக்குகின்றன, உங்கள் குறியீட்டை மேலும் படிக்கக்கூடியதாகவும், பராமரிக்கக்கூடியதாகவும், திறமையாகவும் ஆக்குகின்றன. இந்த விரிவான வழிகாட்டி இந்த ஹெல்பர்களை ஆராய்கிறது, அனைத்து நிலை டெவலப்பர்களுக்கும் நடைமுறை எடுத்துக்காட்டுகள் மற்றும் நுண்ணறிவுகளை வழங்குகிறது.
அசிங்க் ஜெனரேட்டர்கள் மற்றும் அசிங்க் இட்டரேட்டர்கள் என்றால் என்ன?
ஹெல்பர்களுக்குள் செல்வதற்கு முன், அசிங்க் ஜெனரேட்டர்கள் மற்றும் அசிங்க் இட்டரேட்டர்களை சுருக்கமாக நினைவு கூர்வோம். ஒரு அசிங்க் ஜெனரேட்டர் என்பது செயல்பாட்டை இடைநிறுத்தி ஒத்திசைவற்ற மதிப்புகளை வழங்கக்கூடிய ஒரு செயல்பாடு ஆகும். இது ஒரு அசிங்க் இட்டரேட்டரை வழங்குகிறது, இது அந்த மதிப்புகளை ஒத்திசைவற்ற முறையில் மறுசெயல் செய்வதற்கான ஒரு வழியை வழங்குகிறது.
இதோ ஒரு அடிப்படை எடுத்துக்காட்டு:
async function* generateNumbers(max) {
for (let i = 0; i < max; i++) {
await new Promise(resolve => setTimeout(resolve, 500)); // Simulate async operation
yield i;
}
}
async function main() {
const numberStream = generateNumbers(5);
for await (const number of numberStream) {
console.log(number); // Output: 0, 1, 2, 3, 4 (with delays)
}
}
main();
இந்த எடுத்துக்காட்டில், `generateNumbers` ஒரு அசிங்க் ஜெனரேட்டர் செயல்பாடு ஆகும். இது 0 முதல் `max` (பிரத்தியேகமாக) வரையிலான எண்களை ஒவ்வொரு ஈல்டுக்கும் இடையில் 500ms தாமதத்துடன் வழங்குகிறது. `for await...of` லூப், `generateNumbers` மூலம் வழங்கப்படும் அசிங்க் இட்டரேட்டரை மறுசெயல் செய்கிறது.
அசிங்க் ஜெனரேட்டர் ஹெல்பர்களின் அறிமுகம்
அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள், அசிங்க் இட்டரேட்டர்களின் செயல்பாட்டை விரிவுபடுத்துகின்றன, ஒத்திசைவற்ற ஸ்ட்ரீம்களுக்குள் தரவின் ஓட்டத்தை மாற்றுவதற்கும், வடிகட்டுவதற்கும், கட்டுப்படுத்துவதற்கும் முறைகளை வழங்குகின்றன. இந்த ஹெல்பர்கள் கலக்கக்கூடியவையாக வடிவமைக்கப்பட்டுள்ளன, சிக்கலான தரவு செயலாக்க பைப்லைன்களுக்காக செயல்பாடுகளை ஒன்றாக இணைக்க உங்களை அனுமதிக்கின்றன.
முக்கிய அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள்:
- `AsyncIterator.prototype.filter(predicate)`: `predicate` செயல்பாடு ஒரு உண்மை மதிப்பை வழங்கும் மதிப்புகளை மட்டும் ஈல்டு செய்யும் ஒரு புதிய அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
- `AsyncIterator.prototype.map(transform)`: ஒவ்வொரு மதிப்பிலும் `transform` செயல்பாட்டை அழைப்பதன் முடிவுகளை ஈல்டு செய்யும் ஒரு புதிய அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
- `AsyncIterator.prototype.take(limit)`: முதல் `limit` மதிப்புகளை மட்டும் ஈல்டு செய்யும் ஒரு புதிய அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
- `AsyncIterator.prototype.drop(amount)`: முதல் `amount` மதிப்புகளைத் தவிர்க்கும் ஒரு புதிய அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
- `AsyncIterator.prototype.forEach(callback)`: அசிங்க் இட்டரேட்டரிலிருந்து ஒவ்வொரு மதிப்புக்கும் ஒரு முறை வழங்கப்பட்ட செயல்பாட்டை செயல்படுத்துகிறது. இது ஒரு இறுதிச் செயல்பாடு (இட்டரேட்டரைப் பயன்படுத்துகிறது).
- `AsyncIterator.prototype.toArray()`: அசிங்க் இட்டரேட்டரிலிருந்து அனைத்து மதிப்புகளையும் ஒரு வரிசையில் சேகரிக்கிறது. இது ஒரு இறுதிச் செயல்பாடு.
- `AsyncIterator.prototype.reduce(reducer, initialValue)`: ஒரு சேகரிப்பான் மற்றும் அசிங்க் இட்டரேட்டரின் ஒவ்வொரு மதிப்பிற்கும் எதிராக ஒரு செயல்பாட்டைப் பயன்படுத்தி அதை ஒரு ஒற்றை மதிப்பாகக் குறைக்கிறது. இது ஒரு இறுதிச் செயல்பாடு.
- `AsyncIterator.from(iterable)`: ஒரு ஒத்திசைவான இட்டரேபிள் அல்லது மற்றொரு அசிங்க் இட்டரேபிளிலிருந்து ஒரு அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
நடைமுறை எடுத்துக்காட்டுகள்
இந்த ஹெல்பர்களை நடைமுறை எடுத்துக்காட்டுகளுடன் ஆராய்வோம்.
`filter()` மூலம் தரவை வடிகட்டுதல்
உங்களிடம் சென்சார் அளவீடுகளின் ஒரு ஸ்ட்ரீமை வழங்கும் ஒரு அசிங்க் ஜெனரேட்டர் இருப்பதாக வைத்துக்கொள்வோம், மேலும் ஒரு குறிப்பிட்ட வரம்பிற்குக் கீழே உள்ள அளவீடுகளை நீங்கள் வடிகட்ட விரும்புகிறீர்கள்.
async function* getSensorReadings() {
// Simulate fetching sensor data from a remote source
yield 20;
yield 15;
yield 25;
yield 10;
yield 30;
}
async function main() {
const readings = getSensorReadings();
const filteredReadings = readings.filter(reading => reading >= 20);
for await (const reading of filteredReadings) {
console.log(reading); // Output: 20, 25, 30
}
}
main();
`filter()` ஹெல்பர் 20-க்கு மேல் அல்லது சமமாக உள்ள அளவீடுகளை மட்டுமே வழங்கும் ஒரு புதிய அசிங்க் இட்டரேட்டரை உருவாக்குகிறது.
`map()` மூலம் தரவை மாற்றுதல்
உங்களிடம் செல்சியஸ் வெப்பநிலையை வழங்கும் ஒரு அசிங்க் ஜெனரேட்டர் இருப்பதாகக் கொள்வோம், அவற்றை ஃபாரன்ஹீட்டிற்கு மாற்ற விரும்புகிறீர்கள்.
async function* getCelsiusTemperatures() {
yield 0;
yield 10;
yield 20;
yield 30;
}
async function main() {
const celsiusTemperatures = getCelsiusTemperatures();
const fahrenheitTemperatures = celsiusTemperatures.map(celsius => (celsius * 9/5) + 32);
for await (const fahrenheit of fahrenheitTemperatures) {
console.log(fahrenheit); // Output: 32, 50, 68, 86
}
}
main();
`map()` ஹெல்பர் ஒவ்வொரு வெப்பநிலை மதிப்பிற்கும் செல்சியஸ்-ஃபாரன்ஹீட் மாற்றும் செயல்பாட்டைப் பயன்படுத்துகிறது.
`take()` மூலம் தரவைக் கட்டுப்படுத்துதல்
ஒரு அசிங்க் ஜெனரேட்டரிலிருந்து உங்களுக்கு ஒரு குறிப்பிட்ட எண்ணிக்கையிலான மதிப்புகள் மட்டுமே தேவைப்பட்டால், நீங்கள் `take()` ஹெல்பரைப் பயன்படுத்தலாம்.
async function* getLogEntries() {
// Simulate reading log entries from a file
yield 'Log entry 1';
yield 'Log entry 2';
yield 'Log entry 3';
yield 'Log entry 4';
yield 'Log entry 5';
}
async function main() {
const logEntries = getLogEntries();
const firstThreeEntries = logEntries.take(3);
for await (const entry of firstThreeEntries) {
console.log(entry); // Output: Log entry 1, Log entry 2, Log entry 3
}
}
main();
`take(3)` ஹெல்பர் வெளியீட்டை முதல் மூன்று பதிவு உள்ளீடுகளுக்கு வரம்புக்குட்படுத்துகிறது.
`drop()` மூலம் தரவைத் தவிர்த்தல்
`drop()` ஹெல்பர் ஒரு அசிங்க் இட்டரேட்டரின் தொடக்கத்திலிருந்து குறிப்பிட்ட எண்ணிக்கையிலான மதிப்புகளைத் தவிர்க்க உங்களை அனுமதிக்கிறது.
async function* getItems() {
yield 'Item 1';
yield 'Item 2';
yield 'Item 3';
yield 'Item 4';
yield 'Item 5';
}
async function main() {
const items = getItems();
const remainingItems = items.drop(2);
for await (const item of remainingItems) {
console.log(item); // Output: Item 3, Item 4, Item 5
}
}
main();
`drop(2)` ஹெல்பர் முதல் இரண்டு உருப்படிகளைத் தவிர்க்கிறது.
`forEach()` மூலம் பக்க விளைவுகளைச் செய்தல்
`forEach()` ஹெல்பர் அசிங்க் இட்டரேட்டரில் உள்ள ஒவ்வொரு உறுப்பிற்கும் ஒரு கால்பேக் செயல்பாட்டை இயக்க உங்களை அனுமதிக்கிறது. இது ஒரு இறுதிச் செயல்பாடு என்பதை நினைவில் கொள்வது அவசியம்; `forEach` அழைக்கப்பட்ட பிறகு, இட்டரேட்டர் பயன்படுத்தப்பட்டுவிடும்.
async function* getDataPoints() {
yield 1;
yield 2;
yield 3;
}
async function main() {
const dataPoints = getDataPoints();
await dataPoints.forEach(dataPoint => {
console.log(`Processing data point: ${dataPoint}`);
});
// The iterator is now consumed.
}
main();
`toArray()` மூலம் மதிப்புகளை ஒரு வரிசையில் சேகரித்தல்
`toArray()` ஹெல்பர் அசிங்க் இட்டரேட்டரிலிருந்து அனைத்து மதிப்புகளையும் ஒரு வரிசையில் சேகரிக்கிறது. இது மற்றொரு இறுதிச் செயல்பாடு.
async function* getFruits() {
yield 'apple';
yield 'banana';
yield 'orange';
}
async function main() {
const fruits = getFruits();
const fruitArray = await fruits.toArray();
console.log(fruitArray); // Output: ['apple', 'banana', 'orange']
}
main();
`reduce()` மூலம் மதிப்புகளை ஒரு ஒற்றை முடிவாகக் குறைத்தல்
`reduce()` ஹெல்பர் ஒரு சேகரிப்பான் மற்றும் அசிங்க் இட்டரேட்டரின் ஒவ்வொரு மதிப்பிற்கும் எதிராக ஒரு செயல்பாட்டைப் பயன்படுத்தி அதை ஒரு ஒற்றை மதிப்பாகக் குறைக்கிறது. இது ஒரு இறுதிச் செயல்பாடு.
async function* getNumbers() {
yield 1;
yield 2;
yield 3;
yield 4;
}
async function main() {
const numbers = getNumbers();
const sum = await numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 10
}
main();
`from()` மூலம் இருக்கும் இட்டரேபிள்களிலிருந்து அசிங்க் இட்டரேட்டர்களை உருவாக்குதல்
`from()` ஹெல்பர் ஒரு ஒத்திசைவான இட்டரேபிள் (ஒரு வரிசை போன்றது) அல்லது மற்றொரு அசிங்க் இட்டரேபிளிலிருந்து எளிதாக ஒரு அசிங்க் இட்டரேட்டரை உருவாக்க உங்களை அனுமதிக்கிறது.
async function main() {
const syncArray = [1, 2, 3];
const asyncIteratorFromArray = AsyncIterator.from(syncArray);
for await (const number of asyncIteratorFromArray) {
console.log(number); // Output: 1, 2, 3
}
async function* asyncGenerator() {
yield 4;
yield 5;
yield 6;
}
const asyncIteratorFromGenerator = AsyncIterator.from(asyncGenerator());
for await (const number of asyncIteratorFromGenerator) {
console.log(number); // Output: 4, 5, 6
}
}
main();
அசிங்க் ஜெனரேட்டர் ஹெல்பர்களை ஒன்றிணைத்தல்
அசிங்க் ஜெனரேட்டர் ஹெல்பர்களின் உண்மையான சக்தி அவற்றின் ஒன்றிணைக்கும் தன்மையில் உள்ளது. சிக்கலான தரவு செயலாக்க பைப்லைன்களை உருவாக்க நீங்கள் பல ஹெல்பர்களை ஒன்றாக இணைக்கலாம்.
உதாரணமாக, ஒரு API-லிருந்து பயனர் தரவைப் பெறவும், செயலற்ற பயனர்களை வடிகட்டவும், பின்னர் அவர்களின் மின்னஞ்சல் முகவரிகளைப் பிரித்தெடுக்கவும் விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம்.
async function* fetchUsers() {
// Simulate fetching user data from an API
yield { id: 1, name: 'Alice', email: 'alice@example.com', active: true };
yield { id: 2, name: 'Bob', email: 'bob@example.com', active: false };
yield { id: 3, name: 'Charlie', email: 'charlie@example.com', active: true };
yield { id: 4, name: 'David', email: 'david@example.com', active: false };
}
async function main() {
const users = fetchUsers();
const activeUserEmails = users
.filter(user => user.active)
.map(user => user.email);
for await (const email of activeUserEmails) {
console.log(email); // Output: alice@example.com, charlie@example.com
}
}
main();
இந்த எடுத்துக்காட்டு பயனர் தரவு ஸ்ட்ரீமை திறமையாகச் செயலாக்க `filter()` மற்றும் `map()`-ஐ இணைக்கிறது.
பிழை கையாளுதல்
அசிங்க் ஜெனரேட்டர் ஹெல்பர்களுடன் பணிபுரியும் போது பிழைகளைச் சரியாகக் கையாள்வது முக்கியம். ஜெனரேட்டர் அல்லது ஹெல்பர் செயல்பாடுகளுக்குள் எறியப்படும் விதிவிலக்குகளைப் பிடிக்க நீங்கள் `try...catch` பிளாக்குகளைப் பயன்படுத்தலாம்.
async function* generateData() {
yield 1;
yield 2;
throw new Error('Something went wrong!');
yield 3;
}
async function main() {
const dataStream = generateData();
try {
for await (const data of dataStream) {
console.log(data);
}
} catch (error) {
console.error(`Error: ${error.message}`);
}
}
main();
பயன்பாட்டு நிகழ்வுகள் மற்றும் உலகளாவிய பயன்பாடு
அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள் பரந்த அளவிலான சூழ்நிலைகளில் பொருந்தக்கூடியவை, குறிப்பாக பெரிய தரவுத்தொகுப்புகள் அல்லது ஒத்திசைவற்ற தரவு மூலங்களைக் கையாளும் போது. இதோ சில எடுத்துக்காட்டுகள்:
- நிகழ்நேர தரவு செயலாக்கம்: IoT சாதனங்கள் அல்லது நிதிச் சந்தைகளிலிருந்து வரும் ஸ்ட்ரீமிங் தரவைச் செயலாக்குதல். எடுத்துக்காட்டாக, உலகெங்கிலும் உள்ள நகரங்களில் காற்றின் தரத்தைக் கண்காணிக்கும் ஒரு அமைப்பு, தவறான அளவீடுகளை வடிகட்டவும், ரோலிங் சராசரிகளைக் கணக்கிடவும் அசிங்க் ஜெனரேட்டர் ஹெல்பர்களைப் பயன்படுத்தலாம்.
- தரவு உட்கிரகிப்பு பைப்லைன்கள்: பல்வேறு மூலங்களிலிருந்து ஒரு தரவுத்தளத்தில் தரவு உட்கிரகிக்கப்படும்போது அதை மாற்றுதல் மற்றும் சரிபார்த்தல். ஒரு உலகளாவிய இ-காமர்ஸ் தளம், வெவ்வேறு விற்பனையாளர்களிடமிருந்து வரும் தயாரிப்பு விளக்கங்களைச் சுத்தப்படுத்தவும், தரப்படுத்தவும் இந்த ஹெல்பர்களைப் பயன்படுத்துவதை கற்பனை செய்து பாருங்கள்.
- பெரிய கோப்பு செயலாக்கம்: முழு கோப்பையும் நினைவகத்தில் ஏற்றாமல் பெரிய கோப்புகளை துண்டுகளாகப் படித்து செயலாக்குதல். பெரிய CSV கோப்புகளில் சேமிக்கப்பட்ட உலகளாவிய காலநிலைத் தரவை பகுப்பாய்வு செய்யும் ஒரு திட்டம் இதிலிருந்து பயனடையலாம்.
- API பேஜினேஷன்: பேஜினேட்டட் API பதில்களைத் திறமையாகக் கையாளுதல். மாறுபட்ட பேஜினேஷன் திட்டங்களுடன் பல தளங்களிலிருந்து தரவைப் பெறும் ஒரு சமூக ஊடகப் பகுப்பாய்வுக் கருவி, செயல்முறையை நெறிப்படுத்த அசிங்க் ஜெனரேட்டர் ஹெல்பர்களைப் பயன்படுத்தலாம்.
- சர்வர்-சென்ட் நிகழ்வுகள் (SSE) மற்றும் வெப்சாக்கெட்டுகள்: சேவையகங்களிலிருந்து நிகழ்நேர தரவு ஸ்ட்ரீம்களை நிர்வகித்தல். ஒரு பேச்சாளரிடமிருந்து ஒரு மொழியில் உரையைப் பெற்று, மொழிபெயர்க்கப்பட்ட உரையை உலகளவில் பயனர்களுக்கு ஸ்ட்ரீம் செய்யும் ஒரு நேரலை மொழிபெயர்ப்புச் சேவை இந்த ஹெல்பர்களைப் பயன்படுத்தலாம்.
சிறந்த நடைமுறைகள்
- தரவு ஓட்டத்தைப் புரிந்து கொள்ளுங்கள்: செயல்திறனை மேம்படுத்த உங்கள் அசிங்க் ஜெனரேட்டர் பைப்லைன்கள் வழியாக தரவு எவ்வாறு பாய்கிறது என்பதை காட்சிப்படுத்துங்கள்.
- பிழைகளை நளினமாகக் கையாளுங்கள்: எதிர்பாராத பயன்பாட்டு செயலிழப்புகளைத் தடுக்க வலுவான பிழை கையாளுதலைச் செயல்படுத்தவும்.
- பொருத்தமான ஹெல்பர்களைப் பயன்படுத்துங்கள்: உங்கள் குறிப்பிட்ட தரவு செயலாக்கத் தேவைகளுக்கு மிகவும் பொருத்தமான ஹெல்பர்களைத் தேர்வு செய்யவும். எளிமையான தீர்வுகள் இருக்கும்போது அதிகப்படியான சிக்கலான ஹெல்பர் சங்கிலிகளைத் தவிர்க்கவும்.
- முழுமையாகச் சோதிக்கவும்: உங்கள் அசிங்க் ஜெனரேட்டர் பைப்லைன்கள் சரியாகச் செயல்படுகின்றன என்பதை உறுதிப்படுத்த யூனிட் சோதனைகளை எழுதுங்கள். விளிம்பு நிலைகள் மற்றும் பிழை நிலைமைகளுக்கு विशेष கவனம் செலுத்துங்கள்.
- செயல்திறனைக் கருத்தில் கொள்ளுங்கள்: அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள் மேம்பட்ட வாசிப்புத்தன்மையை வழங்கினாலும், மிகவும் பெரிய தரவுத்தொகுப்புகளைக் கையாளும் போது ஏற்படக்கூடிய செயல்திறன் தாக்கங்கள் குறித்து கவனமாக இருங்கள். தேவைக்கேற்ப உங்கள் குறியீட்டை அளந்து மேம்படுத்துங்கள்.
மாற்று வழிகள்
அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள் ஒத்திசைவற்ற ஸ்ட்ரீம்களுடன் வேலை செய்ய ஒரு வசதியான வழியை வழங்கும் அதே வேளையில், மாற்று நூலகங்கள் மற்றும் அணுகுமுறைகள் உள்ளன:
- RxJS (Reactive Extensions for JavaScript): இது ரியாக்டிவ் புரோகிராமிங்கிற்கான ஒரு சக்திவாய்ந்த நூலகமாகும், இது ஒத்திசைவற்ற தரவு ஸ்ட்ரீம்களை மாற்றுவதற்கும் இசையமைப்பதற்கும் ஒரு வளமான ஆபரேட்டர்களை வழங்குகிறது. RxJS அசிங்க் ஜெனரேட்டர் ஹெல்பர்களை விட சிக்கலானது, ஆனால் அதிக நெகிழ்வுத்தன்மையையும் கட்டுப்பாட்டையும் வழங்குகிறது.
- Highland.js: இது ஜாவாஸ்கிரிப்டிற்கான மற்றொரு ஸ்ட்ரீம் செயலாக்க நூலகமாகும், இது ஒத்திசைவற்ற தரவுகளுடன் பணிபுரிய ஒரு செயல்பாட்டு அணுகுமுறையை வழங்குகிறது.
- பாரம்பரிய `for await...of` லூப்கள்: கைமுறை தரவு செயலாக்க தர்க்கத்துடன் பாரம்பரிய `for await...of` லூப்களைப் பயன்படுத்தி இதே போன்ற முடிவுகளை நீங்கள் அடையலாம். இருப்பினும், இந்த அணுகுமுறை அதிக சொற்கள் கொண்ட மற்றும் குறைவாக பராமரிக்கக்கூடிய குறியீட்டிற்கு வழிவகுக்கும்.
முடிவுரை
ஜாவாஸ்கிரிப்ட் அசிங்க் ஜெனரேட்டர் ஹெல்பர்கள் ஒத்திசைவற்ற தரவு ஸ்ட்ரீம்களுடன் வேலை செய்ய ஒரு சக்திவாய்ந்த மற்றும் நேர்த்தியான வழியை வழங்குகின்றன. இந்த ஹெல்பர்களையும் அவற்றின் ஒன்றிணைக்கும் தன்மையையும் புரிந்துகொள்வதன் மூலம், பரந்த அளவிலான பயன்பாடுகளுக்கு நீங்கள் மேலும் படிக்கக்கூடிய, பராமரிக்கக்கூடிய மற்றும் திறமையான குறியீட்டை எழுத முடியும். இந்த நவீன ஸ்ட்ரீம் பயன்பாடுகளை ஏற்றுக்கொள்வது, சிக்கலான தரவு செயலாக்க சவால்களை நம்பிக்கையுடன் சமாளிக்கவும், இன்றைய மாறும், உலகளவில் இணைக்கப்பட்ட உலகில் உங்கள் ஜாவாஸ்கிரிப்ட் மேம்பாட்டுத் திறன்களை மேம்படுத்தவும் உங்களுக்கு அதிகாரம் அளிக்கும்.