జావాస్క్రిప్ట్ యొక్క రాబోయే రికార్డ్ మరియు టూపుల్ డేటా నిర్మాణాల శక్తిని, ప్రయోజనాలను అన్వేషించండి. ఇవి మార్పులేనివి, అధిక పనితీరు, మరియు మెరుగైన టైప్ సేఫ్టీ కోసం రూపొందించబడ్డాయి.
జావాస్క్రిప్ట్ రికార్డ్ & టూపుల్: మార్పులేని డేటా నిర్మాణాల వివరణ
జావాస్క్రిప్ట్ నిరంతరం అభివృద్ధి చెందుతోంది, మరియు భాష యొక్క ప్రధాన భాగంలోకి మార్పులేనితనాన్ని తీసుకురావడానికి రూపొందించిన రికార్డ్ మరియు టూపుల్ అనే రెండు కొత్త డేటా నిర్మాణాల పరిచయం రాబోయే ఉత్తేజకరమైన ప్రతిపాదనలలో ఒకటి. ఈ పోస్ట్ రికార్డ్ మరియు టూపుల్ అంటే ఏమిటి, అవి ఎందుకు ముఖ్యమైనవి, అవి ఎలా పనిచేస్తాయి, మరియు ప్రపంచవ్యాప్తంగా జావాస్క్రిప్ట్ డెవలపర్లకు అవి ఏ ప్రయోజనాలను అందిస్తాయో లోతుగా వివరిస్తుంది.
రికార్డ్ మరియు టూపుల్ అంటే ఏమిటి?
రికార్డ్ మరియు టూపుల్ జావాస్క్రిప్ట్లో ప్రిమిటివ్, డీప్లీ ఇమ్మ్యూటబుల్ (లోతుగా మార్చలేని) డేటా నిర్మాణాలు. వాటిని వరుసగా జావాస్క్రిప్ట్ ఆబ్జెక్ట్లు మరియు అర్రేల యొక్క మార్పులేని వెర్షన్లుగా భావించండి.
- రికార్డ్: ఒక మార్పులేని ఆబ్జెక్ట్. ఒకసారి సృష్టించబడిన తర్వాత, దాని ప్రాపర్టీలను మార్చలేము.
- టూపుల్: ఒక మార్పులేని అర్రే. ఒకసారి సృష్టించబడిన తర్వాత, దాని ఎలిమెంట్లను మార్చలేము.
ఈ డేటా నిర్మాణాలు లోతుగా మార్పులేనివి, అంటే రికార్డ్ లేదా టూపుల్ మాత్రమే మార్చబడదు, వాటిలోని ఏవైనా నెస్ట్ చేయబడిన ఆబ్జెక్ట్లు లేదా అర్రేలు కూడా మార్పులేనివిగా ఉంటాయి.
మార్పులేనితనం ఎందుకు ముఖ్యం
మార్పులేనితనం సాఫ్ట్వేర్ అభివృద్ధికి అనేక ముఖ్యమైన ప్రయోజనాలను అందిస్తుంది:
- మెరుగైన పనితీరు: మార్పులేనితనం షాలో కంపారిజన్ (రెండు వేరియబుల్స్ మెమరీలో ఒకే ఆబ్జెక్ట్ను సూచిస్తున్నాయో లేదో తనిఖీ చేయడం) వంటి ఆప్టిమైజేషన్లను అనుమతిస్తుంది. డీప్ కంపారిజన్ (రెండు ఆబ్జెక్ట్ల కంటెంట్ను పోల్చడం) బదులుగా ఇది చాలా వేగవంతమైనది. మీరు తరచుగా డేటా నిర్మాణాలను పోల్చే సందర్భాలలో ఇది పనితీరును గణనీయంగా మెరుగుపరుస్తుంది.
- మెరుగైన టైప్ సేఫ్టీ: మార్పులేని డేటా నిర్మాణాలు డేటా యొక్క సమగ్రత గురించి బలమైన హామీలను అందిస్తాయి, కోడ్ను అర్థం చేసుకోవడం మరియు అనుకోని సైడ్ ఎఫెక్ట్లను నివారించడం సులభం చేస్తుంది. టైప్స్క్రిప్ట్ వంటి టైప్ సిస్టమ్స్ మార్పులేనితనం పరిమితులను మరింత మెరుగ్గా ట్రాక్ చేసి, అమలు చేయగలవు.
- సులభమైన డీబగ్గింగ్: మార్పులేని డేటాతో, ఒక విలువ అనుకోకుండా మారదని మీరు నమ్మకంగా ఉండవచ్చు, ఇది డేటా ప్రవాహాన్ని గుర్తించడం మరియు బగ్ల మూలాన్ని గుర్తించడం సులభం చేస్తుంది.
- కాన్కరెన్సీ సేఫ్టీ: మార్పులేనితనం కాన్కరెంట్ కోడ్ను వ్రాయడం చాలా సులభం చేస్తుంది, ఎందుకంటే బహుళ థ్రెడ్లు ఒకే డేటా నిర్మాణాన్ని ఏకకాలంలో సవరించడం గురించి మీరు ఆందోళన చెందాల్సిన అవసరం లేదు.
- ఊహించదగిన స్టేట్ మేనేజ్మెంట్: రియాక్ట్, రెడక్స్ మరియు వ్యూ వంటి ఫ్రేమ్వర్క్లలో, మార్పులేనితనం స్టేట్ మేనేజ్మెంట్ను సులభతరం చేస్తుంది మరియు టైమ్-ట్రావెల్ డీబగ్గింగ్ వంటి ఫీచర్లను ప్రారంభిస్తుంది.
రికార్డ్ మరియు టూపుల్ ఎలా పనిచేస్తాయి
రికార్డ్ మరియు టూపుల్ `new Record()` లేదా `new Tuple()` వంటి కన్స్ట్రక్టర్లను ఉపయోగించి సృష్టించబడవు. బదులుగా, అవి ఒక ప్రత్యేక సింటాక్స్ ఉపయోగించి సృష్టించబడతాయి:
- రికార్డ్: `#{ key1: value1, key2: value2 }`
- టూపుల్: `#[ item1, item2, item3 ]`
కొన్ని ఉదాహరణలు చూద్దాం:
రికార్డ్ ఉదాహరణలు
ఒక రికార్డ్ను సృష్టించడం:
const myRecord = #{ name: "Alice", age: 30, city: "London" };
console.log(myRecord.name); // అవుట్పుట్: Alice
ఒక రికార్డ్ను సవరించడానికి ప్రయత్నిస్తే ఎర్రర్ వస్తుంది:
try {
myRecord.age = 31; // ఎర్రర్ వస్తుంది
} catch (error) {
console.error(error);
}
డీప్ ఇమ్మ్యూటబులిటీ ఉదాహరణ:
const address = #{ street: "Baker Street", number: 221, city: "London" };
const person = #{ name: "Sherlock", address: address };
// నెస్ట్ చేయబడిన ఆబ్జెక్ట్ను సవరించడానికి ప్రయత్నిస్తే ఎర్రర్ వస్తుంది.
try {
person.address.number = 221;
} catch (error) {
console.error("Error caught: " + error);
}
టూపుల్ ఉదాహరణలు
ఒక టూపుల్ను సృష్టించడం:
const myTuple = #[1, 2, 3, "hello"];
console.log(myTuple[0]); // అవుట్పుట్: 1
ఒక టూపుల్ను సవరించడానికి ప్రయత్నిస్తే ఎర్రర్ వస్తుంది:
try {
myTuple[0] = 4; // ఎర్రర్ వస్తుంది
} catch (error) {
console.error(error);
}
డీప్ ఇమ్మ్యూటబులిటీ ఉదాహరణ:
const innerTuple = #[4, 5, 6];
const outerTuple = #[1, 2, 3, innerTuple];
// నెస్ట్ చేయబడిన టూపుల్ను సవరించడానికి ప్రయత్నిస్తే ఎర్రర్ వస్తుంది
try {
outerTuple[3][0] = 7;
} catch (error) {
console.error("Error caught: " + error);
}
రికార్డ్ మరియు టూపుల్ ఉపయోగించడం వల్ల ప్రయోజనాలు
- పనితీరు ఆప్టిమైజేషన్: ముందు చెప్పినట్లుగా, రికార్డ్ మరియు టూపుల్ యొక్క మార్పులేనితనం షాలో కంపారిజన్ వంటి ఆప్టిమైజేషన్లను అనుమతిస్తుంది. షాలో కంపారిజన్లో డేటా నిర్మాణాల కంటెంట్ను లోతుగా పోల్చకుండా మెమరీ అడ్రస్లను పోల్చడం ఉంటుంది. ఇది గణనీయంగా వేగవంతమైనది, ముఖ్యంగా పెద్ద ఆబ్జెక్ట్లు లేదా అర్రేల కోసం.
- డేటా సమగ్రత: ఈ డేటా నిర్మాణాల యొక్క మార్పులేని స్వభావం డేటా అనుకోకుండా సవరించబడదని హామీ ఇస్తుంది, బగ్ల ప్రమాదాన్ని తగ్గిస్తుంది మరియు కోడ్ను అర్థం చేసుకోవడం సులభం చేస్తుంది.
- మెరుగైన డీబగ్గింగ్: డేటా మార్పులేనిదని తెలియడం డీబగ్గింగ్ను సులభతరం చేస్తుంది, ఎందుకంటే మీరు అనుకోని మార్పుల గురించి ఆందోళన చెందకుండా డేటా ప్రవాహాన్ని గుర్తించవచ్చు.
- కాన్కరెన్సీ-ఫ్రెండ్లీ: మార్పులేనితనం రికార్డ్ మరియు టూపుల్ను సహజంగా థ్రెడ్-సేఫ్గా చేస్తుంది, కాన్కరెంట్ ప్రోగ్రామింగ్ను సులభతరం చేస్తుంది.
- ఫంక్షనల్ ప్రోగ్రామింగ్తో మెరుగైన అనుసంధానం: రికార్డ్ మరియు టూపుల్ ఫంక్షనల్ ప్రోగ్రామింగ్ పద్ధతులకు సహజంగా సరిపోతాయి, ఇక్కడ మార్పులేనితనం ఒక ప్రధాన సూత్రం. అవి ప్యూర్ ఫంక్షన్లను వ్రాయడం సులభం చేస్తాయి, ఇవి ఒకే ఇన్పుట్కు ఎల్లప్పుడూ ఒకే అవుట్పుట్ను అందిస్తాయి మరియు ఎటువంటి సైడ్ ఎఫెక్ట్లను కలిగి ఉండవు.
రికార్డ్ మరియు టూపుల్ కోసం వినియోగ సందర్భాలు
రికార్డ్ మరియు టూపుల్ను అనేక రకాల సందర్భాలలో ఉపయోగించవచ్చు, వాటిలో ఇవి ఉన్నాయి:
- కాన్ఫిగరేషన్ ఆబ్జెక్ట్లు: అప్లికేషన్ కాన్ఫిగరేషన్ సెట్టింగ్లను నిల్వ చేయడానికి రికార్డ్లను ఉపయోగించండి, అవి అనుకోకుండా సవరించబడకుండా చూసుకోండి. ఉదాహరణకు, API కీలు, డేటాబేస్ కనెక్షన్ స్ట్రింగ్లు లేదా ఫీచర్ ఫ్లాగ్లను నిల్వ చేయడం.
- డేటా ట్రాన్స్ఫర్ ఆబ్జెక్ట్స్ (DTOలు): ఒక అప్లికేషన్ యొక్క వివిధ భాగాల మధ్య లేదా వివిధ సేవల మధ్య బదిలీ చేయబడుతున్న డేటాను సూచించడానికి రికార్డ్స్ మరియు టూపుల్స్ ఉపయోగించండి. ఇది డేటా స్థిరత్వాన్ని నిర్ధారిస్తుంది మరియు ప్రయాణంలో అనుకోని మార్పులను నివారిస్తుంది.
- స్టేట్ మేనేజ్మెంట్: అప్లికేషన్ స్టేట్ మార్పులేనిదని నిర్ధారించడానికి రెడక్స్ లేదా వ్యూక్స్ వంటి స్టేట్ మేనేజ్మెంట్ లైబ్రరీలలో రికార్డ్ మరియు టూపుల్ను ఇంటిగ్రేట్ చేయండి, ఇది స్టేట్ మార్పులను అర్థం చేసుకోవడం మరియు డీబగ్ చేయడం సులభం చేస్తుంది.
- క్యాచింగ్: సమర్థవంతమైన కాష్ లుకప్ల కోసం షాలో కంపారిజన్ను ఉపయోగించుకోవడానికి కాష్లలో కీలుగా రికార్డ్స్ మరియు టూపుల్స్ ఉపయోగించండి.
- గణిత వెక్టర్స్ మరియు మ్యాట్రిక్స్: సంఖ్యా గణనల కోసం మార్పులేనితనాన్ని ఉపయోగించుకుంటూ గణిత వెక్టర్స్ మరియు మ్యాట్రిక్స్ను సూచించడానికి టూపుల్స్ను ఉపయోగించవచ్చు. ఉదాహరణకు, శాస్త్రీయ సిమ్యులేషన్లు లేదా గ్రాఫిక్స్ రెండరింగ్లో.
- డేటాబేస్ రికార్డులు: డేటాబేస్ రికార్డులను రికార్డ్స్ లేదా టూపుల్స్గా మ్యాప్ చేయండి, డేటా సమగ్రత మరియు అప్లికేషన్ విశ్వసనీయతను మెరుగుపరచండి.
కోడ్ ఉదాహరణలు: ఆచరణాత్మక అప్లికేషన్లు
ఉదాహరణ 1: రికార్డ్తో కాన్ఫిగరేషన్ ఆబ్జెక్ట్
const config = #{
apiUrl: "https://api.example.com",
timeout: 5000,
maxRetries: 3
};
function fetchData(url) {
// కాన్ఫిగరేషన్ విలువలను ఉపయోగించండి
console.log(`Fetching data from ${config.apiUrl + url} with timeout ${config.timeout}`);
// ... మిగిలిన ఇంప్లిమెంటేషన్
}
fetchData("/users");
ఉదాహరణ 2: టూపుల్తో భౌగోళిక కోఆర్డినేట్లు
const latLong = #[34.0522, -118.2437]; // లాస్ ఏంజిల్స్
function calculateDistance(coord1, coord2) {
// కోఆర్డినేట్లను ఉపయోగించి దూరాన్ని లెక్కించడానికి ఇంప్లిమెంటేషన్
const [lat1, lon1] = coord1;
const [lat2, lon2] = coord2;
const R = 6371; // భూమి యొక్క వ్యాసార్థం కి.మీ.లలో
const dLat = deg2rad(lat2 - lat1);
const dLon = deg2rad(lon2 - lon1);
const a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
const distance = R * c;
return distance; // కిలోమీటర్లలో దూరం
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
const londonCoords = #[51.5074, 0.1278];
const distanceToLondon = calculateDistance(latLong, londonCoords);
console.log(`Distance to London: ${distanceToLondon} km`);
ఉదాహరణ 3: రికార్డ్తో రెడక్స్ స్టేట్
ఒక సరళీకృత రెడక్స్ సెటప్ను ఊహించుకోండి:
const initialState = #{
user: null,
isLoading: false,
error: null
};
function reducer(state = initialState, action) {
switch (action.type) {
case 'FETCH_USER_REQUEST':
return #{ ...state, isLoading: true };
case 'FETCH_USER_SUCCESS':
return #{ ...state, user: action.payload, isLoading: false };
case 'FETCH_USER_FAILURE':
return #{ ...state, error: action.payload, isLoading: false };
default:
return state;
}
}
పనితీరు పరిగణనలు
రికార్డ్ మరియు టూపుల్ షాలో కంపారిజన్ ద్వారా పనితీరు ప్రయోజనాలను అందించినప్పటికీ, ఈ డేటా నిర్మాణాలను సృష్టించేటప్పుడు మరియు మార్చేటప్పుడు సంభావ్య పనితీరు ప్రభావాల గురించి తెలుసుకోవడం ముఖ్యం, ముఖ్యంగా పెద్ద అప్లికేషన్లలో. ఒక కొత్త రికార్డ్ లేదా టూపుల్ సృష్టించడానికి డేటాను కాపీ చేయడం అవసరం, ఇది కొన్ని సందర్భాల్లో ఇప్పటికే ఉన్న ఆబ్జెక్ట్ లేదా అర్రేను మార్చడం కంటే ఖరీదైనది కావచ్చు. అయినప్పటికీ, మార్పులేనితనం యొక్క ప్రయోజనాల కారణంగా ఈ ట్రేడ్-ఆఫ్ తరచుగా విలువైనదే.
పనితీరును ఆప్టిమైజ్ చేయడానికి క్రింది వ్యూహాలను పరిగణించండి:
- మెమోయిజేషన్: రికార్డ్ మరియు టూపుల్ డేటాను ఉపయోగించే ఖరీదైన గణనల ఫలితాలను కాష్ చేయడానికి మెమోయిజేషన్ టెక్నిక్లను ఉపయోగించండి.
- స్ట్రక్చరల్ షేరింగ్: కొత్త వాటిని సృష్టించేటప్పుడు ఇప్పటికే ఉన్న మార్పులేని డేటా నిర్మాణాల భాగాలను పునఃవినియోగించే స్ట్రక్చరల్ షేరింగ్ను ఉపయోగించుకోండి. ఇది కాపీ చేయవలసిన డేటా మొత్తాన్ని తగ్గిస్తుంది. అనేక లైబ్రరీలు అసలు డేటాలో ఎక్కువ భాగాన్ని పంచుకుంటూ నెస్ట్ చేయబడిన నిర్మాణాలను సమర్థవంతంగా అప్డేట్ చేయడానికి మార్గాలను అందిస్తాయి.
- లేజీ ఎవాల్యుయేషన్: ముఖ్యంగా పెద్ద డేటాసెట్లతో వ్యవహరించేటప్పుడు, అవి వాస్తవంగా అవసరమయ్యే వరకు గణనలను వాయిదా వేయండి.
బ్రౌజర్ మరియు రన్టైమ్ మద్దతు
ప్రస్తుత తేదీ (అక్టోబర్ 26, 2023) నాటికి, రికార్డ్ మరియు టూపుల్ ECMAScript ప్రామాణీకరణ ప్రక్రియలో ఇప్పటికీ ఒక ప్రతిపాదన. అంటే అవి చాలా బ్రౌజర్లు లేదా Node.js ఎన్విరాన్మెంట్లలో ఇంకా స్థానికంగా మద్దతు ఇవ్వబడలేదు. ఈరోజు మీ కోడ్లో రికార్డ్ మరియు టూపుల్ను ఉపయోగించడానికి, మీరు తగిన ప్లగిన్తో బాబెల్ వంటి ట్రాన్స్పైలర్ను ఉపయోగించాల్సి ఉంటుంది.
రికార్డ్ మరియు టూపుల్కు మద్దతు ఇవ్వడానికి బాబెల్ను ఎలా సెటప్ చేయాలో ఇక్కడ ఉంది:
- బాబెల్ను ఇన్స్టాల్ చేయండి:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
- రికార్డ్ మరియు టూపుల్ బాబెల్ ప్లగిన్ను ఇన్స్టాల్ చేయండి:
npm install --save-dev @babel/plugin-proposal-record-and-tuple
- బాబెల్ను కాన్ఫిగర్ చేయండి (ఒక `.babelrc` లేదా `babel.config.js` ఫైల్ను సృష్టించండి):
ఉదాహరణ `.babelrc`:
{ "presets": ["@babel/preset-env"], "plugins": ["@babel/plugin-proposal-record-and-tuple"] }
- మీ కోడ్ను ట్రాన్స్పైల్ చేయండి:
babel your-code.js -o output.js
అత్యంత నూతన ఇన్స్టాలేషన్ మరియు కాన్ఫిగరేషన్ సూచనల కోసం `@babel/plugin-proposal-record-and-tuple` ప్లగిన్ యొక్క అధికారిక డాక్యుమెంటేషన్ను తనిఖీ చేయండి. కోడ్ సులభంగా బదిలీ చేయదగినదిగా మరియు వివిధ సందర్భాలలో సమర్థవంతంగా పనిచేసేలా చూసుకోవడానికి మీ అభివృద్ధి వాతావరణాన్ని ECMAScript ప్రమాణాలకు అనుగుణంగా ఉంచడం చాలా ముఖ్యం.
ఇతర మార్పులేని డేటా నిర్మాణాలతో పోలిక
జావాస్క్రిప్ట్లో ఇప్పటికే మార్పులేని డేటా నిర్మాణాలను అందించే లైబ్రరీలు ఉన్నాయి, అవి Immutable.js మరియు Mori. ఇక్కడ ఒక సంక్షిప్త పోలిక:
- Immutable.js: లిస్ట్స్, మ్యాప్స్, మరియు సెట్స్ వంటి విస్తృత శ్రేణి మార్పులేని డేటా నిర్మాణాలను అందించే ఒక ప్రసిద్ధ లైబ్రరీ. ఇది ఒక పరిణతి చెందిన మరియు బాగా పరీక్షించబడిన లైబ్రరీ, కానీ ఇది దాని స్వంత APIని పరిచయం చేస్తుంది, ఇది ప్రవేశానికి ఒక అడ్డంకి కావచ్చు. రికార్డ్ మరియు టూపుల్ భాషా స్థాయిలో మార్పులేనితనాన్ని అందించాలని లక్ష్యంగా పెట్టుకున్నాయి, ఇది ఉపయోగించడానికి మరింత సహజంగా ఉంటుంది.
- Mori: క్లోజర్ యొక్క పర్సిస్టెంట్ డేటా నిర్మాణాల ఆధారంగా మార్పులేని డేటా నిర్మాణాలను అందించే ఒక లైబ్రరీ. Immutable.js వలె, ఇది దాని స్వంత APIని పరిచయం చేస్తుంది.
రికార్డ్ మరియు టూపుల్ యొక్క ముఖ్య ప్రయోజనం ఏమిటంటే అవి భాషలో నిర్మించబడ్డాయి, అంటే అవి చివరికి అన్ని జావాస్క్రిప్ట్ ఇంజిన్లచే స్థానికంగా మద్దతు ఇవ్వబడతాయి. ఇది బాహ్య లైబ్రరీల అవసరాన్ని తొలగిస్తుంది మరియు మార్పులేని డేటా నిర్మాణాలను జావాస్క్రిప్ట్లో ఒక ఫస్ట్-క్లాస్ సిటిజన్గా చేస్తుంది.
జావాస్క్రిప్ట్ డేటా నిర్మాణాల భవిష్యత్తు
రికార్డ్ మరియు టూపుల్ పరిచయం జావాస్క్రిప్ట్ కోసం ఒక ముఖ్యమైన ముందడుగును సూచిస్తుంది, ఇది భాష యొక్క ప్రధాన భాగానికి మార్పులేనితనం యొక్క ప్రయోజనాలను తీసుకువస్తుంది. ఈ డేటా నిర్మాణాలు మరింత విస్తృతంగా స్వీకరించబడినప్పుడు, మనం మరింత ఫంక్షనల్ మరియు ఊహించదగిన జావాస్క్రిప్ట్ కోడ్ వైపు ఒక మార్పును చూడవచ్చు.
ముగింపు
రికార్డ్ మరియు టూపుల్ జావాస్క్రిప్ట్కు శక్తివంతమైన కొత్త చేర్పులు, ఇవి పనితీరు, టైప్ సేఫ్టీ, మరియు కోడ్ నిర్వహణ పరంగా గణనీయమైన ప్రయోజనాలను అందిస్తాయి. ఇంకా ఒక ప్రతిపాదన అయినప్పటికీ, అవి జావాస్క్రిప్ట్ డేటా నిర్మాణాల భవిష్యత్తు దిశను సూచిస్తాయి మరియు అన్వేషించడానికి ఎంతో విలువైనవి.
రికార్డ్ మరియు టూపుల్తో మార్పులేనితనాన్ని స్వీకరించడం ద్వారా, మీరు మరింత దృఢమైన, సమర్థవంతమైన, మరియు నిర్వహించదగిన జావాస్క్రిప్ట్ కోడ్ను వ్రాయగలరు. ఈ ఫీచర్లకు మద్దతు పెరిగేకొద్దీ, ప్రపంచవ్యాప్తంగా ఉన్న డెవలపర్లు వారు జావాస్క్రిప్ట్ ఎకోసిస్టమ్కు తీసుకువచ్చే పెరిగిన విశ్వసనీయత మరియు ఊహించదగినతనం నుండి ప్రయోజనం పొందుతారు.
రికార్డ్ మరియు టూపుల్ ప్రతిపాదనపై అప్డేట్ల కోసం వేచి ఉండండి మరియు ఈరోజే మీ ప్రాజెక్ట్లలో వాటితో ప్రయోగాలు చేయడం ప్రారంభించండి! జావాస్క్రిప్ట్ భవిష్యత్తు మునుపెన్నడూ లేనంతగా మార్పులేనిదిగా కనిపిస్తోంది.