Typescript tutorial in Hindi
हमारे “Typescript tutorial in Hindi” में आपका स्वागत है! टाइपस्क्रिप्ट जावास्क्रिप्ट का एक शक्तिशाली सुपरसेट है जो scalable, maintainable and error-free code लिखना आसान बनाता है। यह Microsoft द्वारा विकसित और अनुरक्षित एक ओपन-सोर्स प्रोग्रामिंग भाषा है और हाल के वर्षों में डेवलपर्स के बीच बहुत लोकप्रियता हासिल की है।
टाइपस्क्रिप्ट स्टैटिक टाइपिंग, क्लासेस, इंटरफेस और बहुत कुछ जैसी सुविधाएँ प्रदान करता है जो जावास्क्रिप्ट में उपलब्ध नहीं हैं। ये विशेषताएं कोड को अधिक पठनीय, बनाए रखने योग्य और कम errors वाली बनाती हैं। यदि आप जावास्क्रिप्ट से परिचित हैं, तो आप पाएंगे कि टाइपस्क्रिप्ट सीखना और उपयोग करना आसान है। लेकिन अगर आप प्रोग्रामिंग में नए हैं, तो चिंता न करें – हम इसे धीरे-धीरे लेंगे और सब कुछ हिंदी में समझाएंगे।
इस ट्यूटोरियल में, हम आपको टाइपस्क्रिप्ट की बुनियादी बातों के बारे में बताएंगे, आपके विकास के माहौल को स्थापित करने से लेकर classes, interfaces,और functions बनाने तक। हम decorators और namespaces जैसी उन्नत सुविधाओं को भी शामिल करेंगे। इस ट्यूटोरियल के अंत तक, आपको टाइपस्क्रिप्ट की ठोस समझ होगी और आप आत्मविश्वास के साथ उच्च गुणवत्ता वाले कोड high-quality code लिखने के रास्ते पर होंगे। तो एक कप चाय लीजिए और चलिए शुरू करते हैं!
Setting up TypeScript in Hindi
“TypeScript” को अपने स्थानीय डेवलपमेंट वातावरण में सेट अप करना बहुत आसान है। पहली चरण है कि आप Node.js को इंस्टॉल करें, जो कि एक JavaScript runtime है जो आपको वेब ब्राउज़र के बाहर के JavaScript कोड को चलाने की अनुमति देता है। Node.js के साथ npm package manager भी मिलता है, जिससे हम TypeScript को इंस्टॉल करेंगे।
Node.js इंस्टॉल कर दिया होने के बाद, अपने टर्मिनल या कमांड प्रोम्प्ट को खोलें और निम्न कमांड टाइप करें:
npm install -g typescript
यह कमांड आपके सिस्टम पर TypeScript को ग्लोबल रूप से इंस्टॉल करती है, इसलिए आप किसी भी परियोजना से उसे उपयोग कर सकते हैं। TypeScript को सही ढंग से इंस्टॉल किया गया है यह जांचने के लिए, आप निम्न कमांड को चला सकते हैं|
tsc -v
यह आपके सिस्टम पर इंस्टॉल किया गया TypeScript के current version को प्रदर्शित करने के लिए होगा।
अब आपने TypeScript को सेट कर दिया है, आप TypeScript कोड लिखना शुरू कर सकते हैं। आप TypeScript समर्थित किसी भी टेक्स्ट एडिटर या संस्थित विकास परियोजना (IDE) का उपयोग कर सकते हैं। कुछ popular choices Visual Studio Code, Atom, और WebStorm हैं।
आपके टेक्स्ट एडिटर या IDE को सेट होने के बाद, आप .ts एक्सटेंशन के साथ एक नया फाइल बना सकते हैं और TypeScript कोड लिखना शुरू कर सकते हैं। आप फिर TypeScript कंपाइलर का उपयोग कर .ts फाइल को .js फाइल में कनवर्ट करने के लिए कर सकते हैं, जो कि किसी वेब ब्राउज़र या Node.js वातावरण में चलाया जा सकता है।
उदाहरण के लिए, यदि आपके पास main.ts नाम की फ़ाइल है, तो आप इसे main.js में संकलित करने के लिए निम्न कमांड का उपयोग कर सकते हैं|
tsc main.ts
यह इतना आसान है! टाइपस्क्रिप्ट सेट अप और तैयार होने के साथ, अब आप टाइपस्क्रिप्ट कोड लिखना शुरू कर सकते हैं और इसकी शक्तिशाली सुविधाओं का लाभ उठा सकते हैं।
Basic Types in Hindi
TypeScript में, विभिन्न प्रकार के डेटा को प्रतिनिधित्व करने के लिए कई बेसिक टाइप हैं। ये बेसिक टाइप इनमें से कुछ हैं|
Number : Numbers में integers और floating point values हो सकते हैं, और किसी भी numerical value को प्रतिनिधित्व करने के लिए उपयोग किया जा सकता है।
Example of Number:
let age: number = 30; let price: number = 12.99; let quantity: number = 5;
String: एक स्ट्रिंग वर्णों का एक क्रम है, और इसका उपयोग टेक्स्ट का प्रतिनिधित्व (represent) करने के लिए किया जा सकता है।
Example of String:
let name: string = "John Doe"; let message: string = "Hello World!";
Boolean: बूलियन वैल्यू true या false को हो सकता है, और यह logical values को प्रतिनिधित्व (represent) करने के लिए उपयोग किया जा सकता है।
Example of Boolean:
let isStudent: boolean = true; let isEmployed: boolean = false;
Array: एक ऐरे एक विशिष्ट प्रकार के तत्वों का संग्रह है। उदाहरण के लिए, संख्याओं की एक सरणी या स्ट्रिंग्स की एक सरणी हो सकती है आप निचे कोड को देखे |
Example of Array:
let numbers: number[] = [1, 2, 3, 4, 5]; let names: string[] = ["John", "Jane", "Bob"];
Tuple: टपल विभिन्न प्रकार के elements का एक sorted collection है। उदाहरण के लिए, एक संख्या और एक स्ट्रिंग का एक टपल।
Example of Tuple:
let student: [string, number]; student = ["John Doe", 30];
Enum: एन्यूमरेशन का एक तरीका नामित मानों की सेट को परिभाषित करने का होता है। उदाहरण के लिए, साप्ताह के दिनों की एक एन्यूमरेशन।
Example of Enum:
enum Days {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}; let today: Days = Days.Monday;
Any: कोई भी प्रकार TypeScript में विशेष प्रकार होता है जो किसी भी type को प्रतिनिधित्व कर सकता है। यह प्रकार किसी परिस्थिति में उपयोगी हो सकता है जब किसी परिस्थिति के type की जानकारी नहीं हो या जब किसी परिस्थिति में कोई भी प्रकार की मान स्थान कर सकती हो।
Example of Any:
let anyType: any = "Hello"; console.log(anyType); // Output: "Hello" anyType = 5; console.log(anyType); // Output: 5
Void: वॉइड टाइप स्पेशल टाइप होता है जो मान की अस्तित्व को प्रतिनिधित्व (absence of a value) करता है। यह प्रकार आमतौर पर उन फ़ंक्शनों के लिए उपयोग की जाती है जो कोई value नहीं लौटाते।
Example of Void:
function showMessage(): void { console.log("Hello World!"); }
Never: never टाइप स्पेशल टाइप होता है जो मान की अस्तित्व को प्रतिनिधित्व करता है, लेकिन यह फ़ंक्शन जब कभी मान नहीं लौटता हो तब भी उपयोग किया जाता है।
Example of Never:
function error(): never { throw new Error("Something went wrong"); }
Null and Undefined: ये प्रकार विशेष प्रकार हैं जो मान की अस्तित्व को प्रतिनिधित्व करते हैं। वे अक्सर जब एक वेरीएबल को पूर्ण नहीं किया गया है या जब कोई फ़ंक्शन मान नहीं लौटता हो तब उपयोग किये जाते हैं।
Example of Null and Undefined:
let nullValue: null = null; let undefinedValue: undefined = undefined;
Interfaces in Hindi
टाइपस्क्रिप्ट में इंटरफेस objects, functions और arrays की संरचना का वर्णन करने का एक तरीका प्रदान करते हैं। वे गुणों, विधियों और घटनाओं के एक समूह (group of methods and events) को परिभाषित करते हैं जो एक class और object के पास होना चाहिए। एक इंटरफ़ेस को एक class के लिए एक ब्लूप्रिंट के रूप में माना जा सकता है, और एक class अपनी क्षमताओं को निर्दिष्ट करने के लिए एक या एक से अधिक इंटरफेस लागू कर सकता है।
उदाहरण के लिए, एक इंटरफ़ेस पर विचार करें जो किसी व्यक्ति की संरचना को परिभाषित करता है। इस इंटरफ़ेस में name, age और address जैसे value शामिल हो सकते हैं। एक class जो इस इंटरफ़ेस को लागू करता है, उसे इन class की आवश्यकता होगी और वे किसी व्यक्ति की स्थिति को परिभाषित करने के लिए उनका उपयोग कर सकते हैं।
interface Person {
name: string;
age: number;
address: string;
}
class Employee implements Person {
name: string;
age: number;
address: string;
role: string;
constructor(name: string, age: number, address: string, role: string) {
this.name = name;
this.age = age;
this.address = address;
this.role = role;
}
}
ऑब्जेक्ट्स और क्लासेज की स्ट्रक्चर को परिभाषित करने के अलावा, इंटरफेसेज फंक्शन्स की स्ट्रक्चर को व्यवस्थित करने के लिए भी उपयोग किया जा सकता है। उदाहरण के तौर पर, एक इंटरफेस फंक्शन को मिलने वाले पैरामीटरों और फंक्शन की रिटर्न टाइप को परिभाषित कर सकती है।
interface AddFunction {
(num1: number, num2: number): number;
}
const add: AddFunction = (num1: number, num2: number): number => {
return num1 + num2;
};
इंटरफेस टाइपस्क्रिप्ट की एक आवश्यक विशेषता है जो डेवलपर्स को अपने कोड की संरचना को लचीले और पुन: प्रयोज्य (Structure flexible and reusable) तरीके से परिभाषित करने की अनुमति देता है। इंटरफेस का उपयोग करके, डेवलपर्स abstractions बना सकते हैं जो सामान्य व्यवहार और objects, functions और arrays की संरचना को पकड़ते हैं, जिससे large और complex applications को बनाना और बनाए रखना आसान हो जाता है।
Classes in typescript in Hindi
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में क्लासेस के फंडामेंटल कांसेप्ट हैं। इनका उपयोग किसी ऑब्जेक्ट्स के ब्लूप्रिंट को परिभाषित करने के लिए किया जाता है। एक class में डेटा मेम्बेर्स (variables)और डाटा मेम्बर (method)होते हैं। classesडेटा और मेथोड्स को समाहित करने का एक तरीका प्रदान करती हैं जो उस डेटा पर सिंगल यूनिट या ऑब्जेक्ट के भीतर संचालित होती हैं।
Class declaration:
टाइपस्क्रिप्ट में एक class को डिक्लेअर करने के लिए, आप class के नाम के बाद “class” कीवर्ड का उपयोग करते हैं। क्लास बॉडी को curly braces {} के अन्दर परिभाषित किया गया है। क्लास बॉडी के अन्दर डेटा मेम्बेर्स और क्लास के तरीके डिक्लेअर किए जाते हैं।
Class constructor:
कंस्ट्रक्टर एक स्पेशल मेथड है जिसे क्लास का ऑब्जेक्ट बनाते समय स्वचालित रूप से कॉल किया जाता है। इसका उपयोग ऑब्जेक्ट की स्थिति को आरंभ करने के लिए किया जाता है। कंस्ट्रक्टर को “कंस्ट्रक्टर” कीवर्ड का उपयोग करके परिभाषित किया जाता है, जिसके बाद ऑब्जेक्ट की स्थिति को आरंभ करने के लिए आवश्यक पैरामीटर होते हैं।
Class inheritance:
टाइपस्क्रिप्ट में Classes support inheritance करती हैं, जो आपको मौजूदा class पर आधारित एक नई classबनाने की अनुमति देती है। नयी class मौजूदा class के properties और methods करता है। inheritance आपको classes का एक hierarchy बनाने और कोड का पुन: (reuse code) उपयोग करने की अनुमति देता है।
Access modifiers:
टाइपस्क्रिप्ट में क्लास्सेस एक्सेस मोदिफिएर्स को सपोर्ट करती हैं, जो classes के मेम्बेर्स की दृश्यता और पहुंच को नियंत्रित करती हैं। तीन एक्सेस मोदिफिएर्स हैं: public, private,और protected। डिफ़ॉल्ट रूप से, class के मेम्बेर्स सार्वजनिक होते हैं, जिसका अर्थ है कि उन्हें कहीं से भी एक्सेस किया जा सकता है। प्राइवेट मेम्बेर्स को केवल class के अन्दर ही पहुँचा जा सकता है। Protected members को class और उसके subclasses के अन्दर पहुँचा जा सकता है।
Static members:
टाइपस्क्रिप्ट में classes स्थैतिक मेम्बेर्स का भी समर्थन करती हैं, जो class के उदाहरणों के बजाय स्वयं class से संबंधित हैं। क्लास के उदाहरण के बजाय स्टेटिक मेम्बेर्स को क्लास के नाम का उपयोग करके एक्सेस किया जा सकता है।
Example:
class Student {
private name: string;
private age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
public getName(): string {
return this.name;
}
public getAge(): number {
return this.age;
}
}
const student = new Student("John Doe", 25);
console.log(student.getName()); // "John Doe"
console.log(student.getAge()); // 25
इस उदाहरण में, एक class “स्टूडेंट” को प्राइवेट डाटा मेम्बेर्स “name” और “age” के साथ परिभाषित किया गया है। क्लास में एक कंस्ट्रक्टर होता है जिसका उपयोग ऑब्जेक्ट की स्थिति को इनिशियलाइज़ करने के लिए किया जाता है। class में दो पब्लिक method भी हैं, “getName” और “getAge”, जो वस्तु का नाम और आयु लौटाती हैं। classका एक उदाहरण बनाया गया है और उसका नाम और आयु कंसोल में लॉग की गई है।
Functions and Advanced Features in typescript in Hindi
Functions: Functions कोड के ब्लॉक होते हैं जिन्हें कॉल किए जाने पर excecuted किया जाता है। फ़ंक्शंस पैरामीटर स्वीकार कर सकते हैं और मान वापस कर सकते हैं। टाइपस्क्रिप्ट में फ़ंक्शंस को “फ़ंक्शन” कीवर्ड या एरो सिंटैक्स (=>) का उपयोग करके परिभाषित किया जा सकता है। functions को overloaded भी किया जा सकता है, जिसका अर्थ है कि एक ही नाम से कई functions को अलग-अलग parameters के साथ परिभाषित किया जा सकता है।
Advanced Features: टाइपस्क्रिप्ट कई advanced features देता है जो आपके कोड की quality और maintainability को बेहतर बनाने में मदद कर सकती हैं। इनमें से कुछ सुविधाओं में शामिल हैं|
Generics: जेनरिक आपको reusable component बनाने की अनुमति देता है जो कई प्रकारों के साथ काम कर सकता है। जेनरिक को angle brackets (<>) का उपयोग करके परिभाषित किया जाता है और इसका उपयोग functions, classes,और interfaces को परिभाषित करने के लिए किया जा सकता है।
Decorators: डेकोरेटर्स एक क्लास, मेथड या प्रॉपर्टी में मेटाडेटा जोड़ने का एक तरीका है। डेकोरेटर्स का उपयोग क्लास या मेथड के व्यवहार को बदलने के लिए या क्लास या मेथड में अतिरिक्त जानकारी जोड़ने के लिए किया जा सकता है।
Modules: मॉड्यूल आपको अपने कोड को अलग, reusable component में व्यवस्थित करने की अनुमति देता है। मॉड्यूल को विभिन्न फाइलों और कॉम्पोनेन्ट के बीच कोड साझा करने के लिए Import और Export किया जा सकता है।
Type Inference: टाइपस्क्रिप्ट स्वचालित रूप से उपयोग किए जाने के तरीके के आधार पर मूल्य के प्रकार का अनुमान लगा सकता है। यह आपके कोड में आवश्यक टाइप एनोटेशन की मात्रा को कम करने में मदद करता है और आपके कोड को अधिक पठनीय बनाने (code more readable) में मदद कर सकता है।
Intersection Types: Intersection types आपको कई प्रकारों को एक ही प्रकार में संयोजित करने की अनुमति देता है। यह तब उपयोगी हो सकता है जब आपके पास एक मान हो जो कई प्रकार का हो सकता है।
Union Types: Union Types आपको यह निर्दिष्ट करने की अनुमति देते हैं कि एक मान कई प्रकारों में से एक हो सकता है। यह तब उपयोगी हो सकता है जब आपके पास एक मान हो जो कई प्रकार का हो सकता है, लेकिन आप उन प्रकारों को प्रतिबंधित करना चाहते हैं जो मान हो सकते हैं।
Async/Await: Async/await feature एसिंक्रोनस कोड लिखना आसान बनाती है। Async फ़ंक्शंस एक प्रॉमिस लौटाता है और प्रॉमिस के हल होने की प्रतीक्षा करने के लिए await keyword के साथ इस्तेमाल किया जा सकता है।
इन advanced features के साथ, टाइपस्क्रिप्ट कईpowerful tools प्रदान करता है जो आपको better, more maintainable code लिखने में मदद कर सकते हैं।
Conclusion
आपको अब typescript language की अच्छी जानकारी हो गयी है | इस पोस्ट में बस इतना ही हम अगले टॉपिक पर नेक्स्ट पोस्ट में बात करेंगे | आप साथ ही साथ पुरानी पोस्ट भी पढ़ कर अपना अब्यास जारी रख सकते है जिससे आपको typescript language के आने वाले टॉपिक अच्छे से समझ आयेंगे और आपको typescript language और भी ज्यादा आसान लगेगी | इसी तरह पढ़ते रहे और इस वेबसाइट को follow जरुर कर ले जिससे हमारी आने वाली पोस्ट आप तक सबसे पहले पहुचे |
धन्यवाद |