JavaScript 2025: नई सुविधाएँ और बदलाव - शुरुआती गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

JavaScript 2025: नया क्या है? शुरुआती लोगों के लिए समीक्षा

\n\n

JavaScript की दुनिया कभी स्थिर नहीं रहती। 2025 में, यह भाषा जो कभी सिर्फ "ब्राउज़रों के लिए स्क्रिप्ट" थी, अब सर्वर एप्लिकेशन (Node.js), मोबाइल ऐप और यहाँ तक कि डेस्कटॉप सॉफ्टवेयर बनाने के लिए एक शक्तिशाली इकोसिस्टम में बदल गई है। शुरुआती लोगों के लिए सभी बदलावों पर नज़र रखना मुश्किल लग सकता है। लेकिन चिंता न करें: हमने सबसे महत्वपूर्ण नई सुविधाएँ एकत्र की हैं जो आपके कोड को साफ, तेज़ और अधिक समझने योग्य बनाएंगी।

\n\n

इस लेख में, हम 2025 में JavaScript के प्रमुख बदलावों पर चर्चा करेंगे। आप सीखेंगे कि भाषा की नवीनतम क्षमताओं का उपयोग करके Node.js पर आधुनिक कोड कैसे लिखें। चलिए शुरू करते हैं!

\n\n

1. Temporal API: तारीख और समय के साथ काम करने का नया युग

\n\n

JavaScript में तारीखों के साथ काम करना हमेशा एक सिरदर्द रहा है। पुराना Date ऑब्जेक्ट एक सच्चा "फ्रेंकस्टीन का राक्षस" है, जो बग और अस्पष्ट व्यवहार से भरा है। 2025 में, अंततः एक पूर्ण Temporal API आ गया है। यह तारीखों के साथ काम करने का एक आधुनिक, अपरिवर्तनीय (immutable) और टाइप-सेफ तरीका है।

\n\n

व्यवहार में यह कैसा दिखता है (Node.js):

\n\n
// पुराना तरीका (Date)\nconst oldDate = new Date();\nconsole.log(oldDate.toISOString()); // 2025-03-15T10:30:00.000Z\n\n// नया तरीका (Temporal)\nconst { Temporal } = require('@js-temporal/polyfill'); // या बिल्ट-इन मॉड्यूल\n\n// वर्तमान तारीख और समय\nconst now = Temporal.Now.plainDateTimeISO();\nconsole.log(now.toString()); // 2025-03-15T10:30:00\n\n// टाइम ज़ोन के साथ काम करना\nconst meeting = Temporal.ZonedDateTime.from({\n  timeZone: 'Asia/Kolkata',\n  year: 2025,\n  month: 12,\n  day: 25,\n  hour: 10,\n  minute: 0\n});\nconsole.log(meeting.toString()); // 2025-12-25T10:00:00+05:30[Asia/Kolkata]\n\n// तारीखों की तुलना (अब कोई getTime() नहीं!)\nconst date1 = Temporal.PlainDate.from('2025-01-01');\nconst date2 = Temporal.PlainDate.from('2025-06-15');\nconsole.log(Temporal.PlainDate.compare(date1, date2)); // -1 (date1 < date2)\n
\n\n

शुरुआती के लिए यह क्यों बढ़िया है?

\n
    \n
  • अपरिवर्तनीयता (Immutability): विधियाँ मूल ऑब्जेक्ट को नहीं बदलतीं, बल्कि एक नया ऑब्जेक्ट लौटाती हैं। कम बग।
  • \n
  • पठनीयता: Temporal वाला कोड सामान्य टेक्स्ट जैसा दिखता है।
  • \n
  • टाइप सुरक्षा: आप तारीख और समय में गलती नहीं करेंगे।
  • \n
\n\n

2. डेकोरेटर (Decorators): कोड का मानकीकरण और सरलीकरण

\n\n

डेकोरेटर विशेष फंक्शन हैं जो आपको अन्य फंक्शन, क्लास या उनके मेथड को "लपेटने" (wrap) की अनुमति देते हैं, जिससे नया लॉजिक जोड़ा जा सके। 2025 में, डेकोरेटर अंततः ECMAScript के आधिकारिक मानक का हिस्सा बन गए हैं, और उनका सिंटैक्स सरल हो गया है।

\n\n

पहले, डेकोरेटर केवल प्रायोगिक फ्लैग या TypeScript के माध्यम से उपलब्ध थे। अब वे Node.js में "बॉक्स से बाहर" काम करते हैं।

\n\n

उदाहरण: मेथड कॉल का लॉगिंग

\n\n
// डेकोरेटर को परिभाषित करना\nfunction log(target, context) {\n  const methodName = context.name;\n\n  return function (...args) {\n    console.log(`[LOG] मेथड कॉल: ${methodName}`);\n    console.log(`[LOG] आर्गुमेंट: ${JSON.stringify(args)}`);\n    const result = target.call(this, ...args);\n    console.log(`[LOG] परिणाम: ${JSON.stringify(result)}`);\n    return result;\n  };\n}\n\nclass UserService {\n  @log\n  getUser(id) {\n    return { id, name: 'Ravi', role: 'admin' };\n  }\n\n  @log\n  saveUser(user) {\n    console.log('उपयोगकर्ता सहेजा गया:', user.name);\n    return { success: true };\n  }\n}\n\nconst service = new UserService();\nservice.getUser(42);\n// [LOG] मेथड कॉल: getUser\n// [LOG] आर्गुमेंट: [42]\n// [LOG] परिणाम: {"id":42,"name":"Ravi","role":"admin"}\n\nservice.saveUser({ name: 'Sita' });\n// [LOG] मेथड कॉल: saveUser\n// [LOG] आर्गुमेंट: [{"name":"Sita"}]\n// उपयोगकर्ता सहेजा गया: Sita\n// [LOG] परिणाम: {"success":true}\n
\n\n

शुरुआती को इसकी आवश्यकता कहाँ होगी? डेकोरेटर इसके लिए बहुत उपयुक्त हैं:

\n
    \n
  • लॉगिंग (जैसा कि ऊपर उदाहरण में है)।
  • \n
  • वैलिडेशन
  • \n

ब्लॉग

पुस्तक अनुशंसाएँ