जावास्क्रिप्ट फ्लैशकार्ड्स

श्रेणी प्रायोजक

जावास्क्रिप्ट एक बहुमुखी, गतिशील प्रोग्रामिंग भाषा है जो आधुनिक वेब विकास का एक मौलिक हिस्सा है। शुरू में स्थिर HTML पृष्ठों में इंटरैक्टिविटी जोड़ने के लिए बनाया गया, जावास्क्रिप्ट एक शक्तिशाली उपकरण के रूप में विकसित हुआ है जिसका उपयोग क्लाइंट और सर्वर दोनों तरफ किया जा सकता है।

हमारे फ्लैशकार्ड ऐप में सावधानीपूर्वक चुने गए जावास्क्रिप्ट साक्षात्कार प्रश्न शामिल हैं जिनके व्यापक उत्तर आपको JS ज्ञान की आवश्यकता वाले किसी भी साक्षात्कार के लिए प्रभावी ढंग से तैयार करेंगे। IT फ्लैशकार्ड्स केवल नौकरी खोजने वालों के लिए एक उपकरण नहीं है - यह आपके वर्तमान कैरियर योजनाओं की परवाह किए बिना, अपने ज्ञान को मजबूत करने और परीक्षण करने का एक शानदार तरीका है। ऐप का नियमित उपयोग आपको नवीनतम जावास्क्रिप्ट रुझानों से अपडेट रहने और अपने कौशल को उच्च स्तर पर बनाए रखने में मदद करेगा।

हमारे ऐप से नमूना जावास्क्रिप्ट फ्लैशकार्ड्स

अधिक मुफ्त फ़्लैशकार्ड प्राप्त करने के लिए या सभी फ़्लैशकार्ड तक पहुँच के लिए हमारे एप्लिकेशन को App Store या Google Play से डाउनलोड करें या सदस्यता लें।

जावास्क्रिप्ट में लेक्सिकल स्कोप क्या है?

JavaScript में शाब्दिक स्कोप एक सिद्धांत है जिसमें एक वेरिएबल की दृश्यता की श्रेणी को कोड में उसकी स्थिति द्वारा निर्धारित किया जाता है। इसका मतलब है कि वेरिएबल्स उस ब्लॉक के अंदर सुलभ होते हैं, जिनमें वे परिभाषित किए गए थे, साथ ही किसी भी नेस्टेड ब्लॉक में भी। यह क्लोज़र्स का निर्माण और वेरिएबल एक्सेस पर नियंत्रण की अनुमति देता है। JavaScript कोड में शाब्दिक स्कोप का उपयोग करने की उदाहरण:
function outerFunction() {
  let outerVariable = `I'm outside!`;

  function innerFunction() {
    console.log(outerVariable); // Has access to the 'outerVariable'
  }

  innerFunction();
}
outerFunction(); // Displays `I'm outside!`

शाब्दिक स्कोप की अनुमति देता है कि एक भीतरी फ़ंक्शन बाहरी फ़ंक्शन में परिभाषित वेरिएबल्स तक पहुँच सके, यहां तक कि बाहरी फ़ंक्शन समाप्त होने के बाद भी। यह JavaScript में क्लोज़र्स बनाने में एक महत्वपूर्ण तत्व है, जिससे अनुप्रयोगों में अधिक लचीला स्टेट प्रबंधन की अनुमति दी जाती है।

होइस्टिंग क्या है?

JavaScript भाषाओं में Hoisting एक तंत्र है जहाँ परिवर्तनशील और कार्य स्कोट के ऊपर कोड का निष्पादन होने से पहले स्थानांतरित कर दिए जाते हैं। व्यावहारिक रूप से, इसका अर्थ है कि हम वास्तव में उन्हें घोषित करने से पहले कार्यों या चर का उपयोग कर सकते हैं।

हालांकि, इसका ध्यान रखना चाहिए कि परिवर्तनशील और कार्यों के लिए होस्टिंग थोड़ा अलग तरीके से काम करती है

var कीवर्ड के साथ घोषित परिवर्तनशीलों के लिए, केवल घोषणा उत्थान होती है, मूल्यांकन नहीं होता। घोषणा से पहले मूल्यांकित चर को undefined के रूप में लौटाया जाएगा।

परिवर्तनशीलों के लिए होस्टिंग कोड का एक उदाहरण:
console.log(myVar); // undefined
var myVar = 5;
console.log(myVar); // 5

कार्यों के लिए, होस्टिंग कार्य की घोषणा और परिभाषा को ऊपर स्थानांतरित करती है, जो कार्य का उपयोग इसके घोषित होने से पहले अनुमति देती है।

कार्यों के लिए होस्टिंग कोड का एक उदाहरण:
console.log(myFunction()); // "Hello World"

function myFunction() {
  return "Hello World";
}

let और const के साथ घोषित परिवर्तनशीलों के लिए होस्टिंग नहीं होती है।

एक एरो फ़ंक्शन क्या है और इसके क्या फायदे हैं?

एक एरो फ़ंक्शन, जिसे एरो फ़ंक्शन के नाम से भी जाना जाता है, ECMAScript 6 (ES6) में परिचयित फ़ंक्शन का एक प्रकार है। उन्हें एरो फ़ंक्शन कहा जाता है क्योंकि वे एक एरो ( => ) के साथ फ़ंक्शन को परिभाषित करने वाले विशेष सिंटैक्स का उपयोग करते हैं।

तुलना के लिए, एक पारंपरिक फ़ंक्शन इस तरह देख सकता है:
function sum(a, b) {
  return a + b;
}

इसका समकक्ष एरो फ़ंक्शन इस तरह है:
const sum = (a, b) => a + b;

एरो फ़ंक्शन का मुख्य फायदा यह है कि यह अपनी स्वयं की क्रियान्वयन संदर्भ (इस this के साथ बांधना) नहीं बनाता है, जो अक्सर JavaScript में त्रुटियों का स्रोत होता है। एरो फ़ंक्शन्स में, यह this परिवेशी संदर्भ से विरासत में मिलता है। एक अन्य लाभ सिंटैक्स की संक्षिप्तता है, जो विशेष रूप से उपयोगी होती है जब फ़ंक्शन्स को अन्य फ़ंक्शन्स के लिए तर्क के रूप में उपयोग किया जाता है, जैसे कि उच्च-क्रम फ़ंक्शन्स में।

दूसरी ओर, अपने आप this के अभाव के कारण, एरो फ़ंक्शन्स संरचक (रचनात्मक) ऑब्जेक्ट्स को परिभाषित करने या प्रोटोटाइप ऑब्जेक्ट्स में विधियाँ बनाने के लिए उपयुक्त नहीं होते हैं।

एक प्रॉमिस ऑब्जेक्ट क्या है और इसका उपयोग कैसे किया जा सकता है?

JavaScript में Promise ऑब्जेक्ट का उपयोग असिंक्रोनस ऑपरेशन को संभालने के लिए किया जाता है। Promise का प्रतिनिधित्व एक ऐसे मान्यता का होता है जो Promise बनाने के समय उपलब्ध नहीं हो सकता, लेकिन भविष्य में उपलब्ध हो सकता है, या कभी भी नहीं।

एक Promise ऑब्जेक्ट तीन स्थितियों में से एक में हो सकता है:
1. अनिर्णायक - ऑपरेशन अभी भी चल रहा है, या तो सफलतापूर्वक समाप्त नहीं हुआ है या त्रुटियों के साथ।
2. पूर्ण - ऑपरेशन सफलतापूर्वक पूरा हुआ, प्रॉमिस ने एक मान्यता लौटाई।
3. अस्वीकृत - ऑपरेशन में त्रुटि के साथ। प्रॉमिस ने त्रुटि के कारण लौटाया।

एक Promise जो पूरा हो चुका है या अस्वीकृत किया गया है, उसे "निर्णीत" माना जाता है और इसकी स्थिति कभी नहीं बदलती है।

Promise ऑब्जेक्ट बनाना:
const promise = new Promise((resolve, reject) => {
  const success = true;
  if (success) {
    resolve('Operation successful.');
  } else {
    reject('Operation failed.');
  }
});

Promise ऑब्जेक्ट का इस्तेमाल करना:
promise
  .then(result => {
    console.log(result); // यह प्रिंट करेगा: 'Operation successful.'
  })
  .catch(error => {
    console.log(error);
  });

.then() विधि का निष्पादन तभी होता है जब Promise पूरा होता है, और .catch() जब इसे अस्वीकार कर दिया जाता है। दोनों स्थितियों में, ऑपरेशन का परिणाम या Promise के अस्वीकरण का कारण तर्क के रूप में पास किया जाता है।

एक कॉलबैक क्या है?

कॉलबैक, जिसे कॉलबैक फ़ंक्शन के नाम से भी जाना जाता है, एक ऐसा फ़ंक्शन है जिसे किसी अन्य फ़ंक्शन के लिए तर्क के रूप में पास किया जाता है और फिर उस फ़ंक्शन के समापन के बाद क्रियान्वित किया जाता है (वापस बुलाया गया है)। कॉलबैक फ़ंक्शन्स का उपयोग सामान्यत: जावास्क्रिप्ट में किया जाता है, विशेष रूप से AJAX अनुरोधों या घटना संभालन जैसे अतृप्त ऑपरेशन्स में।

कॉलबैक फ़ंक्शन्स आमतौर पर किसी निश्चित ऑपरेशन के परिणामों को तर्क के रूप में प्राप्त करते हैं, इसलिए उनका उपयोग उन परिणामों को प्रसंस्करण या विश्लेषण के लिए किया जा सकता है।

ऐसे फ़ंक्शन का उपयोग व्यावहारिक रूप में निम्नलिखित तरीके से हो सकता है:
function executeAfterTimeout(callback, timeout) {
  setTimeout(() => {
    console.log('Time passed!');
    callback();
  }, timeout);
}

executeAfterTimeout(() => {
  console.log('This is a callback!');
}, 2000);

इस मामले में, `executeAfterTimeout` फ़ंक्शन को एक `callback` फ़ंक्शन को पैरामीटर के रूप में प्राप्त होता है, जिसे एक निर्दिष्ट मात्रा का समय बीतने के बाद निष्पादित किया जाएगा। कॉलबैक फ़ंक्शन्स जावास्क्रिप्ट में अतृप्त नियंत्रण प्रवाह का प्रबंधन करने के लिए अत्यंत उपयोगी होते हैं।

नलिश कोलेसिंग ऑपरेटर क्या है और यह कैसे काम करता है?

Nullish Coalescing Operator (??) एक तार्किक ऑपरेटर है जो तब ऑपरेशन के दायाँ ओर को वापस करता है जब बायाँ ओर null या अपरिभाषित होती है। अन्य शब्दों में, जब एक variable खाली होता है, तो nullish coalescing operator नतीजे के रूप में एक परिभाषित मान वापस करता है।

मूल संकेत इस प्रकार है:
let value = null ?? 'default value';

इस मामले में, क्योंकि बाएं हाथ की तरफ (value) null है, इसलिए परिणाम 'default value' है। साथ ही, जैसा कि OR operator (||) की तुलना में, OR function तब दायें हाथ की ओर वापस करता है जब बाएँ ओर गलत हो ( false, 0, '', null, undefined, NaN), जबकि nullish coalescing operator केवल तब दायें हाथ की ओर लौटता है जब बाएं हाथ की ओर null या undefined होती है।

OR के साथ उदाहरण:
let value1 = 0 || 'default';
console.log(value1); // output: 'default' क्योंकि 0 एक false value है

nullish coalescing के साथ उदाहरण:
let value2 = 0 ?? 'default';
console.log(value2); // output: 0 क्योंकि 0 null या undefined नहीं है

इस प्रकार, OR के विपरीत, nullish coalescing operator 0, '' और NaN को "empty" values के रूप में नहीं मानता है।

सिंबल क्या है और इसका उपयोग कब किया जाना चाहिए?

JavaScript में Symbol एक अद्वितीय और अचल डेटा प्रकार होता है जो आमतौर पर वस्तुओं के अद्वितीय गुणों की पहचान करने के लिए उपयोग किया जाता है।

आप Symbol() निर्माता को कॉल करके एक Symbol बना सकते हैं, जो हर बार जब इसे कॉल किया जाता है, एक अद्वितीय सिंबल बनाता है। भले ही हम Symbol() निर्माता को उसी तर्क के साथ कॉल करते हैं, हर बनाए गए सिंबल अलग होंगे।
const symbol1 = Symbol('mySymbol');
const symbol2 = Symbol('mySymbol');
console.log(symbol1 === symbol2); // वापसी  false

Symbol को आमतौर पर वस्तुओं के (अद्वितीय) गुणों को परिभाषित करने के लिए उपयोग किया जाता है, विशेष रूप से जब हम चाहते हैं कि यह गुण छिपा या निजी हो। इसमें उन गुणों को भी शामिल किया गया है जिन्हें for...in या for...of का उपयोग करके वस्तुओं पर पुनरावृत्ति करते समय नहीं माना जाता और Object.keys() विधि द्वारा नहीं लौटाया जाता है। साथ ही, सिंबल "नकली" निजी गुणों को बनाने की अनुमति देते हैं।
let obj = {};
let privateProperty = Symbol('private');

obj[privateProperty] = 'This is private';

console.log(obj[privateProperty]); // 'This is private'
console.log(Object.keys(obj)); // []

Symbol का उपयोग कब करना है, इस पर कोई निश्चित नियम नहीं है। वे आमतौर पर तब उपयोग किए जाते हैं जब हम एक ऐसी अद्वितीय संपत्ति बनाना चाहते हैं जो एक वस्तु पर आसानी से देखी या बदली नहीं जा सकती, या हम विधियों को परिभाषित करना चाहते हैं जो वस्तुओं के व्यवहार को निम्न स्तर पर प्रभावित करती हैं।

वीकमैप और वीकसेट क्या हैं?

WeakMap और WeakSet JavaScript Map और Set वस्तुओं के विशेष संस्करण हैं जो गार्बेज कलेक्टर द्वारा स्वचालित मेमोरी विमोचन को रोकने से बचते हैं।

WeakMap कुंजी-मान युग्मों का एक संग्रह है जहां कुंजियां ऑब्जेक्ट होनी चाहिए और मूल्य कुछ भी हो सकता है। Map और WeakMap के बीच मुख्य अंतर यह है कि WeakMap में कुंजियां "कमजोर" रूप से रखी जाती हैं, इसका अर्थ है कि अगर कुंजी ऑब्जेक्ट के अन्य संदर्भ नहीं हैं, तो यह गार्बेज-संग्रहीत हो जाएगी, और इसकी प्रविष्टि WeakMap से स्वतः हटा दी जाएगी।

निम्नलिखित WeakMap का उपयोग करने का उदाहरण है:
चलो जॉन = {नाम: "जॉन"};

चलो weakMap = new WeakMap();
weakMap.set(john, "...");

john = null; // संदर्भ को अधिलेखित करें

// जॉन मेमोरी से हटा दिया गया है!

WeakSet Map के लिए WeakMap के समान है। यह वस्तुओं का एक सेट है, लेकिन यदि वस्तु अन्य कहीं नहीं दिखाई दे रही है, तो इसे गार्बेज-संग्रहण से बचने नहीं देता है। इसमें आम तौर पर Set विधियों की जैसे `size` और `clear` की कमी होती है, और `add` विधि केवल वस्तुएं लेती है।

WeakSet का उपयोग करने का उदाहरण:
चलो जॉन = {नाम: "जॉन"};

चलो weakSet = new WeakSet();
weakSet.add(john);

john = null; // संदर्भ को अधिलेखित करें

// जॉन मेमोरी से हटा दिया गया है!

WeakMap और WeakSet, दोनों का मुख्य रूप से उन स्थितियों में उपयोग होता है जब हम उन वस्तुओं के बारे में अतिरिक्त जानकारी संग्रहीत करना चाहते हैं जिन्हें वस्तु स्वयं हटा दिया जाना चाहिए।

डाउनलोड करें आईटी फ्लैशकार्ड्स अभी

हमारे फ्लैशकार्ड्स के साथ अपने जावास्क्रिप्ट ज्ञान का विस्तार करें।
प्रोग्रामिंग की बुनियाद से लेकर उन्नत तकनीकों के मास्टरी तक, आईटी फ्लैशकार्ड्स आईटी उत्कृष्टता की ओर आपका पासपोर्ट है।
अभी डाउनलोड करें और आज के प्रतिस्पर्धी तकनीकी दुनिया में अपनी क्षमता को खोजें।