जावास्क्रिप्ट नटशेल
यह लेख जावास्क्रिप्ट नौसिखियों के लिए है और इसमें भाषा सीखने के लिए सामान्य ज्ञान और उपयोगी सुझावों का संग्रह है। मैंने इन जानकारियों को विभिन्न लेखों और टिप्पणियों से संकलित किया है जिन्हें मैंने स्वयं जावास्क्रिप्ट सीखते समय पढ़ा था। मुझे आशा है कि आपको यह जानकारी आपकी अपनी जावास्क्रिप्ट यात्रा में मददगार लगेगी।
जावास्क्रिप्ट क्या है?
जावास्क्रिप्ट सबसे लोकप्रिय वेब स्क्रिप्टिंग भाषा है, जिसका उपयोग क्लाइंट-साइड और सर्वर-साइड डेवलपमेंट दोनों के लिए किया जाता है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग क्षमताओं का समर्थन करते हुए, जावास्क्रिप्ट कोड को HTML पेजों में डाला जा सकता है जिसे वेब ब्राउज़र द्वारा समझा और निष्पादित किया जा सकता है।
ईसीएमएस्क्रिप्ट क्या है?
ECMAScript (यूरोपियन कंप्यूटर मैन्युफैक्चरर्स एसोसिएशन स्क्रिप्ट) जावास्क्रिप्ट पर आधारित एक स्क्रिप्टिंग भाषा है। ECMAScript ECMA इंटरनेशनल द्वारा मानकीकृत एक प्रोग्रामिंग भाषा है। यह मुख्य रूप से वेब ब्राउज़र में चलने वाली क्लाइंट-साइड स्क्रिप्ट बनाने के लिए उपयोग किया जाता है, लेकिन इसका उपयोग अन्य वातावरणों जैसे Node.js और Apache CouchDB में भी किया जाता है। ईसीएमएस्क्रिप्ट लोकप्रिय जावास्क्रिप्ट प्रोग्रामिंग भाषा का मानकीकृत संस्करण है, और दो शब्दों को अक्सर एक दूसरे के स्थान पर उपयोग किया जाता है। ECMAScript वार्षिक आधार पर भाषा में नई सुविधाएँ जोड़ता है, जिसका नवीनतम संस्करण ECMAScript 2021 है।
"==" और "===" ऑपरेटरों के बीच अंतर।
जावास्क्रिप्ट में "==" और "===" ऑपरेटर के बीच मुख्य अंतर यह है कि == ऑपरेटर तुलना से पहले ऑपरेंड का प्रकार रूपांतरण करता है, जबकि === ऑपरेटर मूल्यों के साथ-साथ डेटा प्रकारों की तुलना करता है संचालन।
जावास्क्रिप्ट द्वारा समर्थित डेटा प्रकार क्या हैं?
- अपरिभाषित
- व्यर्थ
- बूलियन
- वस्तु
- डोरी
- चिन्ह, प्रतीक
- संख्या
JavaScrpt में एक क्लोजर दूसरे फंक्शन के अंदर एक फ्यूशन है। आंतरिक फ़ंक्शन की अपने स्वयं के चरों तक पहुंच होती है, बाहरी फ़ंक्शन के साथ-साथ वैश्विक चर में परिभाषित चर।
let a = 5;
function outher(){
let b = 8
function inner(){
let c = 3;
console.log(a + b + c);
}
inner();
}
outher();
जावास्क्रिप्ट में, नॉट-ए-नंबर के लिए NaN छोटा है। जावास्क्रिप्ट में, NaN एक संख्या है जो कानूनी संख्या नहीं है। वैश्विक NaN संपत्ति संख्या के समान है।
आप जावास्क्रिप्ट में एक वस्तु कैसे बना सकते हैं?
let person = {
name : "Umut",
age : 27,
isHappy: true
}
const cars = ["Saab", "Volvo", "BMW"];
const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";
const cars = new Array("Saab", "Volvo", "BMW");
- लाइटवेट, व्याख्या की गई प्रोग्रामिंग भाषा
- क्रॉस-प्लेटफ़ॉर्म संगत
- खुला स्त्रोत
- वस्तु के उन्मुख
- अन्य बैकएंड और फ्रंटएंड प्रौद्योगिकियों के साथ एकीकरण
- विशेष रूप से नेटवर्क-आधारित अनुप्रयोगों के विकास के लिए उपयोग किया जाता है
जावास्क्रिप्ट में स्कोप कोड के वर्तमान संदर्भ को संदर्भित करता है, जो जावास्क्रिप्ट के चर की पहुंच को निर्धारित करता है।
- वैश्विक कार्यक्षेत्र:
- वैश्विक चर, वैश्विक दायरे वाले जावास्क्रिप्ट कोड में हर जगह उपलब्ध हैं।
- सरल शब्दों में, एक वेरिएबल जिसे प्रोग्राम में कहीं भी एक्सेस किया जा सकता है, ग्लोबल स्कोप वाले वेरिएबल के रूप में जाना जाता है। ग्लोबली स्कोप्ड वेरिएबल्स को तीन कीवर्ड्स में से किसी एक का उपयोग करके परिभाषित किया जा सकता है: let, const, और var।
- स्थानीय चर केवल एक फ़ंक्शन के भीतर पहुंच योग्य होते हैं जिसमें वे परिभाषित होते हैं। यदि आप किसी फ़ंक्शन के अंदर परिभाषित किसी भी चर को बाहर या किसी अन्य फ़ंक्शन से एक्सेस करने का प्रयास करते हैं, तो यह एक त्रुटि फेंकता है।
- चूँकि आप किसी स्थानीय चर को फ़ंक्शन के बाहर से एक्सेस नहीं कर सकते हैं, आप उसी नाम के एक चर को दूसरे फ़ंक्शन में भी रख सकते हैं।
- 2015 में ES6 (ECMAScript 6) को पेश करने से पहले, जावास्क्रिप्ट में केवल दो प्रकार के स्कोप थे: ग्लोबल स्कोप और लोकल स्कोप।
- लेट और कॉन्स्ट कीवर्ड्स की शुरुआत के साथ, इसने जावास्क्रिप्ट में एक नए प्रकार का स्कोप जोड़ा। आप ब्लॉक के बाहर से किसी विशेष ब्लॉक ({} द्वारा प्रतिनिधित्व) के अंदर घोषित चर तक नहीं पहुंच सकते हैं।
- प्रत्येक नए फ़ंक्शन के निर्माण के साथ, यह जावास्क्रिप्ट में एक नया दायरा बनाता है। आप फ़ंक्शन के बाहर या किसी अन्य फ़ंक्शन से किसी फ़ंक्शन के अंदर परिभाषित चरों तक नहीं पहुंच सकते हैं। किसी फ़ंक्शन के अंदर उपयोग किए जाने पर Var, let और const समान रूप से कार्य करते हैं।
- वक्य रचना त्रुटि
- संदर्भ त्रुटि
- त्रुटि प्रकार
- मूल्यांकन त्रुटि
- श्रेणी त्रुटि
- यूआरआई त्रुटि
- आंतरिक गलती
- कॉल और अप्लाई मेथड्स इसे एक फंक्शन में सेट करते हैं और फंक्शन को कॉल करते हैं।
- बाइंड विधि इसे केवल एक फ़ंक्शन पर सेट करेगी। हमें फ़ंक्शन को अलग से इनवॉइस करना होगा।
- forEach विधि में कोई शर्त नहीं है, इसलिए यह हमेशा सरणी में प्रत्येक तत्व के लिए चलेगा, भले ही सरणी खाली हो। दूसरी ओर, लूप के लिए, यदि शर्त पूरी नहीं होती है तो वह नहीं चलेगा।
- forEach मेथड सरणियों के माध्यम से लूप करने का एक शानदार तरीका है। for लूप की तुलना में इसे पढ़ना और समझना आसान है, और इसके लिए आपको लूप काउंटर वेरिएबल बनाने की आवश्यकता नहीं है। हालाँकि, ऐसी कुछ स्थितियाँ हैं जहाँ आपको forEach विधि पर लूप के लिए उपयोग करना चाहिए।
let myFunction = (a, b) => a * b;
hello = () => {
return "Hello World!";
}
जावास्क्रिप्ट में 'यह' कीवर्ड वर्तमान में कॉलिंग ऑब्जेक्ट को संदर्भित करता है। यह आमतौर पर कंस्ट्रक्टर्स में ऑब्जेक्ट प्रॉपर्टीज के मूल्यों को सुनिश्चित करने के लिए उपयोग किया जाता है।
// Regular Function:
hello = function() {
document.getElementById("demo").innerHTML += this;
}
// The window object calls the function:
window.addEventListener("load", hello);
// A button object calls the function:
document.getElementById("btn").addEventListener("click", hello);
var और let दोनों का उपयोग जावास्क्रिप्ट में चर घोषणा के लिए किया जाता है लेकिन उनके बीच का अंतर यह है कि var फ़ंक्शन स्कोप्ड है और let ब्लॉक स्कोप्ड है।
जावास्क्रिप्ट में त्रुटियों के प्रकार
जावास्क्रिप्ट त्रुटियों के 7 प्रकार हैं:
दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) वेब दस्तावेज़ों के लिए एक प्रोग्रामिंग इंटरफ़ेस है। यह पृष्ठ का प्रतिनिधित्व करता है ताकि प्रोग्राम दस्तावेज़ संरचना, शैली और सामग्री को बदल सकें। DOM दस्तावेज़ को नोड और ऑब्जेक्ट के रूप में प्रस्तुत करता है; इस तरह, प्रोग्रामिंग भाषाएं पेज के साथ इंटरैक्ट कर सकती हैं।
वेनिला जे एस में गुण और गुण के बीच अंतर
जावास्क्रिप्ट (डोम, वास्तव में) में, एक तत्व में विशेषताएँ और गुण होते हैं। शब्दों को अक्सर परस्पर विनिमय के लिए उपयोग किया जाता है, लेकिन वे वास्तव में दो अलग-अलग चीजें हैं।
DOM में प्रस्तुत किए जाने पर एक विशेषता प्रारंभिक अवस्था होती है। एक संपत्ति वर्तमान स्थिति है।
ज्यादातर मामलों में, विशेषताओं और गुणों को स्वचालित रूप से सिंक में रखा जाता है। उदाहरण के लिए, जब आप किसी आईडी एट्रिब्यूट को अपडेट करने के लिए setAttribute() का उपयोग करते हैं, तो आईडी प्रॉपर्टी भी अपडेट हो जाती है।
let p = document.querySelector('p');
// Update the ID
p.setAttribute('id', 'first-paragraph');
// These both return "first-paragraph"
let id1 = p.getAttribute('id');
let id2 = p.id;
कॉल, बाइंड और अप्लाई के तीनों तरीके इस तर्क को फंक्शन में सेट करते हैं।
कॉल विधि इस मान को फ़ंक्शन से बांधती है और फ़ंक्शन को निष्पादित करती है। यह पैरामीटर के रूप में यह मान और तर्कों की एक सूची लेता है। फिर, यह फ़ंक्शन द्वारा लौटाया गया मान लौटाता है, जिसे कॉल विधि का उपयोग करके कहा जाता है।
function test(arg1, arg2){
console.log(this.num, arg1, arg2); // 100, 10, 20
}
test.call({num: 100}, 10, 20);
लागू
लागू विधि इस मान को फ़ंक्शन से बांधती है और फ़ंक्शन को निष्पादित करती है। यह पैरामीटर के रूप में यह मान और एकल सरणी ऑब्जेक्ट लेता है, और यह फ़ंक्शन द्वारा लौटाया गया मान लौटाता है, जिसे लागू विधि का उपयोग करके कहा जाता है।
function test(...arguments){
console.log(this.num, arguments);//100, [1,2,3]
}
test.apply({num: 100}, [1,2,3]);
// call() and apply() are identical in functionality,
// the only difference is that call() accepts a list of arguments;
// whereas, apply() accepts a single array of arguments.
बाइंड विधि इस मान को फ़ंक्शन से बांधती है और एक नया फ़ंक्शन लौटाती है। हालाँकि, हमें अभी भी अलग से दिए गए फ़ंक्शन को लागू करने की आवश्यकता है।
function test(arg){
console.log(this.number, arg);
}
let bindedFn = test.bind({number: 99}, "argument");
bindedFn(); // 99, "argument"
जावास्क्रिप्ट में for और foreach लूप में क्या अंतर है
for (initialization; condition; increment)
{
// code to be executed
}
for (let i = 1; i <= 5; i++)
{
document.write(i + "<br/>");
}
numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number) {
// code to be executed
document.write(number + "<br/>");
});
//same output
1
2
3
4
5

![क्या एक लिंक्ड सूची है, वैसे भी? [भाग 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































